正则表达式

原创 2016年08月30日 09:32:16

预定义类

字符 等价类 含义
. [^\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

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


String.prototype.match(reg)
match()方法将检索字符串,以找到一个或多个与regexp匹配的文本
regexp是否具有标志g对结果影响很大
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)