1.创建正则表达式的两种方式
第一种方法:
var reg = /pattern/;
第二种方法:
var reg = new RegExp('pattern');
2.调用正则表达式的3种方法
第一种方法:
reg.exec(str);//返回的是匹配的内容
第二种方法:
str.match(reg);//返回的是匹配的内容,返回的结果是一个匹配上的数组
第三种方法:
reg.test(str);//返回的是true或是false
3.和正则表达式相关的方法
第一种replace:
str.replace("reg","newstr");
第二种split
str.split("reg|str",[howmany])
第三种:
str.search("reg");//匹配第一次正则表达式匹配的位置,从0开始计算
4.c{n}的用法
c{1}表示一个c的意思
c{2}表示连续两个c的意思
5,c{m,n}的用法
表示c连续出现m个或是n个。默认会优先匹配n,注意m要<=n
6.c{n,}的用法
表示匹配n个以上的c,包括n
7. * + ?的用法
*表示0次或是多次,相当于{0,}
+表示1次或是多次,相当于{1,}
?表示0次或是一次,相当于{0,1}
8. 使用正则表达式非贪心的用法
在表示数字用法后面添加上?就可以了。
{n,}?, *?, +?, ??, {m,n}?
9. 开头或是结尾正则
/^c/表示以c开头的字符串 ,//注意和取反符号的用法
/c$/表示以c结尾的字符串
10. .用法
.表示匹配除了\n(换行符)之外的其他任意一个字符
11. |用法
|表示二选一
var reg = /a|b/表示a或者是b
reg = /^b|c.+/;表示以b或是c开头的,并且非换行符\n的若干个字符
12. ()的用法
reg = /^(b|c).+/; 表示这次的结果是整个串bbs.blueidea.com,机上上面的括号这后,这个正则的意思是,如果字符串的开头是b或者c,那么匹配开头的b或者c以及其后的所有的非换行字符。
13. 字符集合[abc]
表示匹配其中的一个字符
reg = /^[abc]/;表示以a或是b或是c任意一个开头的字符串,如果reg = /[^abc]/表示非a或是b或是c开头的字符串
14. 边界与非边界
\b表示边界
reg = /\bc/;
str='cainiao';//返回c,因为c的左侧就是边界
reg = /\bc/;
str='维生素c';//返回c,因为c的右侧是边界
reg = /\bc/;
str='bcb';//这个会匹配失败
\B表示与\b相反
reg = /\Bc/;
str='bcb';
15.数字与非数字
reg = /\d/;
str='cainiao8'//返回的是数字8
16. 空白
\f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符
\s匹配单个空格,等同于[\f\n\r\t\v]
reg = /\s.+/;
str='This is a test String.';
返回“is a test String.”,正则的意思是匹配第一个空格以及其后的所有非换行字符。
17.单词字符\w 等同于字符集合[a-zA-Z0-9_]
reg = /\w+/;
str='.className';
返回className
不会去匹配中文
18. 反向引用
插曲:
reg = /(\w)(\w)/;
str='blueidea';
返回bl,b,l
reg = /(\w)\1/;
str='blueidea';
第一个括号里的(\w)匹配了b,因此“\1”就同样表示b了,在余下的字符串里自然找不到b了。所以返回null
19. 避免子正则
reg = /^(?:b|c).+/;
str='bbs.blueidea.com';
只返回整串,没有,b了
20. 正向预查
形式:(?=pattern)
reg = /cainiao(?=8)/;
str='cainiao8';
返回cainiao
21. 非正向预查
?!
reg = /blue(?!idea)/;
str='blueidea';//会返回null,是想要返回后面不带有idea的。
22.匹配元字符
如果只想匹配元字符,即描述字符的字符就加\就可以了
reg = /c\*/;
str='c*';//这样就匹配到c了
23. 正则表达式的修饰符
全局匹配 形式:/pattern/g,即找到以后会继续向后查找
不区分大小写,修饰符i
形式:/pattern/i
行首行尾,修饰符m
形式:/pattern/m
var reg = /^b/m;
var str = 'test\nbbs';//匹配成功
24. replace函数
var reg = /(\w+).(\w+).(\w+)/;
var str = 'bbs.blueidea.com';
var newStr = str.replace(reg,'$1.$1.$1');
document.write(newStr);
$1表示第一个第一括号匹配到的内容bbs
$2表示第二个括号匹配到的内容blueidea
分享到:
相关推荐
javascript常用正则表达式大全,基本覆盖基本需求的正则表达式
JavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全.txtJavaScript验证正则表达式大全....
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理...
javascript正则表达式迷你书 (1).pdf
JavaScript经典正则表达式实战,欢迎下载,11111111111111111111
JavaScript_正则表达式语法.doc
了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用
常用Javascript正则表达式汇总,常用Javascript正则表达式汇总
ECMAScript v3对JavaScript正则表达式进行了标准化。JavaScript 1.2实现了ECMAScript v3要求的正则表达式特性的子集,JavaScript 1.5实现了完整的标准。JavaScript的正则表达式完全以Perl程序设计语言的正则表达式...
学习更高深的正则表达式特性中的微妙之处; 理解在不同语言中正则表达式的API、语法和行为之间的区别; 创建更好的正则表达式来满足个性化的需求。 使用8种编程语言的详细解决方案,包括一个正则表达式简明教程
自己总结的部分javascript的正则表达式练习,希望可以帮助大家,未完整版,随后追加
正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完本书,你会对正则表达式的常用语法了然于胸。掌握正则表达式是提升编程效率、节约时间的一大法.....
总结的js常用的正则表达式,如邮箱,手机号码,等等验证方法。
很全的正则表达式... 很全的正则表达式...
一个比较经典的表单验证方式,采用JavaScript和正则表达式来进行无刷新验证,有三种验证模式。
javascript经典正则表达式 (收藏整理)-javescript教程
正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 •替换文本。可以在文档中使用一个正则表达式...
javascript正则表达式详解 (chm)
javascript 正则表达式视频教程 包含:精通正则表达式五部视频,实战正则表达式两部视频和源码压缩包