首页 > 代码库 > 正则表达式之一基础语法2

正则表达式之一基础语法2

@6字符边界
---字符位置匹配,不匹配字符,零宽符号
---^与字符串开始的地方匹配 在方括号外

        技术分享

 


---$与字符串结束的地方匹配

                技术分享

 


---\b 匹配一个单词边界,匹配:前面的字符和后面的字符不全是\w

        


 

 


@7模式
---大小写敏感和不敏感

          技术分享

 

      

 


---单行模式

        技术分享

 


---多行模式

        技术分享

 


@8选择符和分组
--- | 分支结构 左右两边表达式之间为或的关系,匹配左边或者右边

        技术分享

 


--- () 捕获组 1.被修饰匹配次数时,括号中的表达式可以作为整体被修饰2.取匹配结果时,括号中的
表达式匹配到的内容可以被单独得到3.每对括号会分配一个编号,从左至右开始从1编号

       技术分享       

 

      

 

---(?:Expression) 一些表达式中,不得不使用(),但又不需要保存()式子中表达式匹配的内容,这是使用
非捕获组抵消()带来的副作用

        技术分享
@9反向引用(\nnn)
---每一对()会分配一个编号,使用()的捕获根据左括号顺序从1开始编号
---通过反向引用可以对分组已经捕获的字符串进行引用

    

        技术分享


@10预搜索(零宽断言,环视
---只进行子表达式的匹配,匹配内容不计入最终的匹配结果,是零宽度
---这个位置应该符合某些条件判断当前未知的前后字符,是对位置的匹配
---(?=exp) 断言自身出现的位置的后面能匹配表达式exp

        技术分享

 


---(?<=exp) 断言自身出现的位置的前面能匹配表达式exp


---(?!exp) 断言此位置的后面不能匹配表达式exp

        技术分享

        技术分享

 

 


---(?>!exp) 断言此位置的前面不能匹配表达式exp

          技术分享

        技术分享

 

 @11实战:

1.座机号码匹配 :0\d{2,3}-\d{7,8}

        技术分享

2.手机号码匹配:1[3458]\d{9}

        技术分享

3.座机手机都匹配 :(1[3458]\d{9})|(0\d{2,3}-\d{7,8})

        技术分享

4.邮箱匹配:[\w]+@[a-z0-9]+(\.[a-z]{2,3}){1,2}

        技术分享

 

正则表达式之一基础语法2