标签:案例 第一个字符 obb 技术 从后往前 col 解释 含义 color
2018-08-24 21:26:14
【说明】:该文主要为了随后复习和使用备查,由于做了word比较,所以此处博文没有怎么排版,没放代码,以插入图片为主,
注意:
以下的案例中是match()匹配,match是要求从第一个字符开始匹配,所以,前边是有.*
注意:下边这种是不行的,如果没有*号,就不表示多次了。
表示4为匹配第三位的。点是匹配第二位的。
贪婪匹配下,是从后往前 开始匹配的。如下例子。
在左边 加一个?的话,就会从左往右开始匹配。是非贪婪匹配了,但是括号里面的仍然是贪婪匹配。【即从左匹配,第一个b被固定了,但是括号里的第二个b还是从右开始匹配,。*再输出中间的一切内容。】
#技巧:括号里是有问好的,所以在第一个b 确定下后 .*?b是从左往右的
# 输出是:boooooob
简述以上?的原理
其实,上边说的从左从右匹配都是一种技巧的规则,其实完全可以按照下边的这三个符号的含义来解释。
*表示0次或者多次
+表示1次或者多次
?0次或者是1次
比如:
Line=”booooooobbaaa”
pattern=“.*(b.*b)”这里的两处.*都是贪婪匹配模式的,小括号中的.*【由于*是表示0/1次,】所以匹配出黄色部分的bb。
+的作用:
+其实是表示1次或者是多次的匹配模式的。
比如:对于以下
Line=”booooooobbaaa”
pattern=“.*(b.+b)”就无法匹配成功,因为.+是至少要匹配1个元素的,那么开头结尾都是b,中间还要一个元素的情况是没有的。
那么比如:
Line=”booooooobabaaa”
pattern=“.*(b.+b)”
就匹配出了结果是bab
【案例分析】
(3)
{1} {2} 表示某一个限定元素的出现此时。
案例分析:
(2)
1、{2,}表示两次或以上的输出
{2,5}
Y与上边原理相同,表示,大于等于2 小于等于5
这个符号代表或的关系。
特殊括号的用法
输出boobb123
案例如下:
比如说匹配电话号码:
Phone_num_pattern=”1[3578][0-9]{9}”
表示,可以匹配13***** /15*****/17*************/18***********的电话号码,后边九位是0—9任意,{9}表示9个数字
\s 是匹配空白字符
如果您好中间有多个字符可以用 “(您\S+好)”进行匹配来完成
\w 的含义是[A-Za-z0-9_] 是与\S有区别的,比如\S是可以匹配到+号的
\W 是表示除了[A-Za-z0-9_]之外的所有字符,它恰好与\w相反的一个匹配功能。
提取代码是 [\u4E00-\u9FA5]+
案例一:
案例2 :
标签:案例 第一个字符 obb 技术 从后往前 col 解释 含义 color
原文地址:https://www.cnblogs.com/jiyongjia/p/9532223.html