正则表达式

预定义类

字符 等价类 含义
. [^\r\n] 除了回车符和换行符之外的所有字符
\d [0-9] 数字字符
\D [^0-9] 非数字字符
\s [\t\n\x0B\f\r] 空白符
\S [^\t\n\x0B\f\r] 非空白符
\w [a-zA-Z_0-9] 单词字符(字母,数字下划线)
\W [^a-zA-Z_0-9] 非单词字符

边界

正则表达式提供了几个常用的边界匹配字符
字符 含义
^ 以xxx开始
$ 以xxx结束
\b 单词边界
\B 非单词边界

量词

希望匹配一个连续出现20次数字的字符串
字符 含义
? 出现零次或一次
+ 至少出现一次
* 出现任意次
{n} 出现n次
{n,m} 出现n到m次
{n,} 至少出现n次

贪婪模式:尽可能多的匹配

非贪婪模式:让正则表达式尽可能少的匹配,一旦匹配成功就不再继续尝试:在量词后加上?即可。


分组

使用()可以达到分组的功能,使量词作用于分组

使用 | 可以达到或的效果

反向引用

 忽略分组:不希望捕获某些分组,只需要在分组内加上?:

前瞻

对象属性

global:是否全文搜索
ignore case:是否大小写敏感
multiline:多行搜素
lastIndex:当前表达式匹配内容的最后一个字符的下一个位置
source:正则表达式的文本字符串



RegExp.prototype.test(str)
用于测试字符串参数中是否存在匹配正则表达式模式的字符串,存在未true,否则为false

String.prototype.search(reg)
search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串
方法返回一个匹配结果index,查找不到返回-1
search方法不执行全局匹配,它将忽略标志g,并且总是从字符串的开始进行检索


String.prototype.match(reg)
match()方法将检索字符串,以找到一个或多个与regexp匹配的文本
regexp是否具有标志g对结果影响很大
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caoxinhui521/article/details/52366490
想对作者说点什么? 我来说一句

正则表达式正则表达式

2011年01月10日 15KB 下载

正则表达式

2010年05月21日 97B 下载

正则表达式入门指导.ppt

2011年04月02日 694KB 下载

正则表达式总结文档集合

2009年03月19日 370KB 下载

xml需求文档及正则表达式介绍

2011年05月20日 12.68MB 下载

正则表达式简单课程学习

2011年07月10日 12KB 下载

RegexTester 正则表达式

2018年01月12日 69KB 下载

正则指引书籍

2018年04月23日 30.62MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭