码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2018-05-30 19:19:25      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:贪心   字母数   正则表达式   覆盖   ant   字母   元素   下划线   正则   

一,元字符

"^" :匹配文本开始

"$" :匹配文本结尾

"\b": 什么都不匹配只匹配一个位置

常用于

str = ping ant einpei   
\bant\b   
res = ant   

"\d": 匹配数字

反义词:\D 匹配非数字

"\w":匹配字母,数字,下划线

反义词:"\W" 匹配非字母,数字,下划线

"\s":匹配空白符

反义词:"\S"匹配非空白符

".":匹配除了换行符以外的任何字符

"[abc]": 字符组 匹配包含括号内元素的字符

还可以写成[a-z]
反义词:"[^abc]" 匹配非包含括号内元素的字符

"\B" 匹配不是单词开头或结束的位置

二,量词

1,概念

贪婪(贪心)

如"*"字符,(0 到无穷大) 贪婪量词会首先匹配整个字符串,尝试匹配时,它会选定尽可能多的内容,如果 失败则回退一个字符,然后再次尝试回退的过程就叫做回溯,它会每次回退一个字符,直到找到匹配的内容或者没有字符可以回退。相比下面两种贪婪量词对资源的消耗是最大的,

懒惰(勉强)

如 "?" ,
(1 到 无穷大) 懒惰量词使用另一种方式匹配,它从目标的起始位置开始尝试匹配,每次检查一个字符,并寻找它要匹配的内容,如此循环直到字符结尾处

占有

如"+",(0或1) 占有量词会覆盖事个目标字符串,然后尝试寻找匹配内容 ,但它只尝试一次,不会回溯,就好比先抓一把石头,然后从石头中挑出黄金

2,量词

"*"(贪婪) 重复零次或更多

"+"(懒惰) 重复一次或更多次

"?"(占有) 重复零次或一次

"{n}" 重复n次

"{n,m}" 重复n到m次

"{n,}" 重复n次或更多次

三,懒惰限定符

"*?" 重复任意次,但尽可能少重复

"+?" 重复1次或更多次,但尽可能少重复

"??" 重复0次或1次,但尽可能少重复

"{n,m}?" 重复n到m次,但尽可能少重复

"{n,}?" 重复n次以上,但尽可能少重复

==其实只要加个 ? 就可以了。==

正则表达式

标签:贪心   字母数   正则表达式   覆盖   ant   字母   元素   下划线   正则   

原文地址:https://www.cnblogs.com/sanstyle/p/9112557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!