接着上一篇js之正则表达式学习1,我们继续看下面的例子
[abc]用法:表示匹配方括号中的任意字符
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /^[abc]/; str=´bbs.blueidea.com´; execreg(reg,str);
输出的结果是b
再看下面的例子
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /^[a-zA-Z][a-zA-Z0-9_]+/; str=´bbs_´; execreg(reg,str);
表示开头必须是字母,但结尾可以是字母,数字或下划线
[^abc]:表示匹配非abc字符
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /[^abc]/; str=´backdder´; execreg(reg,str);
输出为k因为back都属于abc集合中
从上述例子,可以知道[^0-9]表示非数字,[^a-z]表示非小写字母
边界
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\bc/; str=´call´; execreg(reg,str);
匹配了左边的c
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\Bc/; str=´12c2´; execreg(reg,str);
\B表示非边界,所以成功匹配到了c
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\d/; str=´ec2e´; execreg(reg,str);
\d表示只匹配数字,输出为2.同理\D表示非数字
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\D/; str=´2c2e´; execreg(reg,str);
输出为c
\s匹配单个空格,常用的是\s.+匹配空格后所有不换行的字符
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\s.+/; str=´2 c2e´; execreg(reg,str);
本例输出c2e
\S 遇到空格正则匹配就停止
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\S/; str=´2 c2e´; execreg(reg,str);
本例输出2
/\w/=/[a-zA-Z0-9_]/
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\w+/; str=´2c2e´; execreg(reg,str);
如果想返回中文
function execreg(reg,str){ var result =reg.exec(str); alert(result); } reg = /\W+/; str=´中文´; execreg(reg,str);
本文为multifeeling原创,转载请注明来自multifeeling