特殊字符\b 和\B 可以用来匹配字符边界。而两者的区别在于\b 将用于匹配一个单词的边 界,这意味着如果一个模式必须位于单词的起始部分,就不管该单词前面(单词位于字符串 中间)是否有任何字符(单词位于行首)。同样,\B 将匹配出现在一个单词中间的模式(即, 不是单词边界)。下面为一些示例。
一、
如果问号紧跟在任何使用闭合操作符的匹配后面,它将直接要求正则表 达式引擎匹配尽可能少的次数。
“尽可能少的次数”是什么意思?当模式匹配使用分组操作符时,正则表达式引擎将试图 “吸收”匹配该模式的尽可能多的字符。
这通常被叫做贪婪匹配。问号要求正则表达式引擎去 “偷懒”,如果可能,就在当前的正则表达式中尽可能少地匹配字符,留下尽可能多的字符给 后面的模式(如果存在)
二、表示字符集的特殊字符
与使用“0-9”这个范围表示十进制数相比, 可以简单地使用 d 表示匹配任何十进制数字。
另一个特殊字符(\w)能够用于表示全部字母 数字的字符集,相当于[A-Za-z0-9_]的缩写形式,
\s 可以用来表示空格字符。
这些特殊字符的 大写版本表示不匹配;例如,\D 表示任何非十进制数(与[^0-9]相同),等等。 使用这些缩写,可以表示如下一些更复杂的示例。
领取专属 10元无门槛券
私享最新 技术干货