java 正则表达式中“[W(or)(ld)]”表示什么意思
作者&投稿:凭伊 (若有异议请与网页底部的电邮联系)
1、()表示分组:将一序列正则表达式看作一个整体;
2、^表示正则开始,$表示正则结束;
3、:表示该位置的字符为冒号;
4、\w相当于a-zA-Z0-9_,匹配单词字符;
望采纳!!!
\W匹配字母或数字或下划线或汉字,\D表示匹配数字
\W和\w的区别
\w :匹配包括下划线的任何单词字符,等价于 [A-Z a-z 0-9_]
\W :匹配任何非单词字符,等价于 [^A-Z a-z 0-9_]
前面之所以加上了两个\因为是字符中使用第一个\代表转义哈
W,或者 o 或者 r 或者 l 或者 d
yupeiwendy 是正确的,我也被()误导了,应该加上 “(” 和 “)” 也能匹配。
谢谢~
实测匹配:
W
o
r
l
d
(
)
就是说中括号里面的所有字符都匹配,两个小括号属于误导,多打了一边
W
but if you use () to concat them , I think you want to replace them ...
for example
var reg = /[W(or)(ld)]/g; // /W(or)(ld)/g;
var str = 'World';
// you can replace
// maybe can't
str.replace(reg, 'abcd$1$2');// str = 'abcdorld';
the console :
var reg = /[W(or)(ld)]/g; // /W(or)(ld)/g;
undefined
var str = 'World';
undefined
str=str.replace(reg, 'abcd$1$2');// str = 'abcdorld';
"abcd$1$2abcd$1$2abcd$1$2abcd$1$2abcd$1$2"
reg=/W(or)(ld)/g;
/W(or)(ld)/g
str=str.replace(reg, 'abcd$1$2');
"abcd$1$2abcd$1$2abcd$1$2abcd$1$2abcd$1$2"
str
"abcd$1$2abcd$1$2abcd$1$2abcd$1$2abcd$1$2"
reg=/^W(or)(ld)$/g;
/^W(or)(ld)$/g
str=str.replace(reg, 'abcd$1$2');
"abcd$1$2abcd$1$2abcd$1$2abcd$1$2abcd$1$2"
str
"abcd$1$2abcd$1$2abcd$1$2abcd$1$2abcd$1$2"
str='World';
"World"
str=str.replace(reg, 'abcd$1$2');
"abcdorld"
reg=/W(or)(ld)/;
/W(or)(ld)/
str=str.replace(reg, 'abcd$1$2');
"abcdorld"
reg=[W(or)(ld)];
reg=/[W(or)(ld)]/;
/[W(or)(ld)]/
str=str.replace(reg, 'abcd$1$2');
"abcabcd$1$2orld"
str='World';
"World"
str.match(reg);
"W"
西金西力: [W(or)(ld)] 被 [] 包含表示匹配单个字符,所以该表达式匹配 W,或者 o 或者 r 或者 l 或者 dyupeiwendy 是正确的,我也被()误导了,应该加上 “(” 和 “)” 也能匹配. 谢谢~
永定区15834506008: Java的正则表达式的"\\w+"是什么意思? - ?
西金西力: 您好,提问者:1、首先\是转义字符,必须\\来使用.2、\w 匹配字母或数字或下划线或汉字.
永定区15834506008: java正则表达式求解:\\D \\W \\w分别代表什么呢? - ?
西金西力: \W匹配字母或数字或下划线或汉字,\D表示匹配数字\W和\w的区别\w :匹配包括下划线的任何单词字符,等价于 [A-Z a-z 0-9_]\W :匹配任何非单词字符,等价于 [^A-Z a-z 0-9_]前面之所以加上了两个\因为是字符中使用第一个\代表转义哈
永定区15834506008: java的正则表达式,"\b(\w+)\b\s+\1\b"这个怎么理解 - ?
西金西力: (\w+)匹配一个词, \1匹配第一个匹配组, 在这里就是前面匹配的那个词.所以:(\w+) \1 匹配两个完全相同的词. (词里可以有至少一个字母或数字) \s+ 两个词当中隔了至少一个能被\s匹配的符号(比如空格, tab)
永定区15834506008: 正则表达式中 [\w - ]和\. 是什么意思? - ?
西金西力: 后边多一个?表示懒惰模式. 必须跟在*或者+后边用 如:<img src="test.jpg" width="60px" height="80px"/> 如果用正则匹配src中内容非懒惰模式匹配 src=".*" 匹配结果是:src="test.jpg" width="60px" height="80px" 意思是从="往后匹配,直到最后一个"匹配结束懒惰模式正则: src=".*?" 结果:src="test.jpg" 因为匹配到第一个"就结束了一次匹配.不会继续向后匹配.因为他懒惰嘛..表示除\n之外的任意字符 *表示匹配0-无穷 +表示匹配1-无穷
永定区15834506008: java正则表达式 \\w*和\\w+ - ?
西金西力: 因为\w*是匹配0到多个字符 所以可以匹配英文词后空格前的零字符,出现了空行的情况
永定区15834506008: java代码片段分析(有关正则表达式) - ?
西金西力: 正则表达式里"\"要用"\\"表示,不用知道为什么,只要记住就行所以"\w"得写成"\\w", "."在java里应该是"\.",所以在正则里就是"\\."
永定区15834506008: JAVA正则表达式判断 只能包含汉字、英文、“ - ”和数字 ,正则该怎么写呢??
西金西力: 正则表达式如下: String pattern = "[\u4e00-\u9fa5\\w]+"; 其中:\u4e00-\u9fa5 代表中文,\\w代表英文、数字和“_",中括号代表其中的任意字符,最后的加号代表至少出现一次.
永定区15834506008: Java正则表达式(\\.\\w+)*\\.\\w+是什么意思? 跪求大神解答! - ?
西金西力: 那我问你 \ 表示转义符 你知道吧 那么你不要被题目中的\w误解了 以为是 数字字母下划线?不能这么理解! 这是错的.\\w 就是表示字符串 “ \w ”, 他不匹配任何数字 字母 下划线 因为他被转义了! 哈哈 希望能解决你的困惑!
永定区15834506008: java正则表达式 ^/.*\\.do$ 和 ^/.*\\.[ - \\w]+$ 各表示匹配什么东西呀? - ?
西金西力: 去掉转义字符为^/.*\.do$ 和 ^/.*\.[-\w]+$ 第一个的意思是一行以 ".do"结尾的字符串. 第二个的意思是一行以点"." 后面结以减号"-"或字母、数字、下划线"\w"结束的字符串.