正则表达式

首先介绍一个练习工具:http://tool.chinaz.com/regex/

在线验证工具。

正则表达式到底是什么东西?
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
常用元字符

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束


常用限定符

代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次


常用反义词

代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

正则表达式里面的模式问题

【1】贪婪模式

比如说\d{1,4}可以匹配1个到4个字符,在贪婪模式下面引擎尽可能匹配多的字符

比如上面的式子匹配123456这个字符串,他会匹配到1234这个字符串。

 

【2】非贪婪模式
非贪婪从字面上讲和前面的相反,第一次找到符合条件的即认为已经找到目标串。

还是上面的例子,123456 非贪婪只会一个个匹配。即结果是1,2,·····

 

【3】模式切换

引擎默认是贪婪模式,要想转换为非贪婪,只要在范围选择的表达式后面加一个即可。

比如上面你的式子,\d{1,4}?就完成了模式转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值