三十三、正则表达式2:r—转义、边界($、^、\b、\B)

一、转义  使用 r 能够自动转义\t、\n

来理解转义:

打印时本来是输不出\n的,加上r后自动转义,相当于\\nabc

总结:

1、r的意思是说:它是英文单词raw的一个缩写,也就是说当你在定义这个字符串的时候它是什么样的,最终在输出打印的时候

     就是什么样的,中间转义的过程python帮我们实现了。

2、例如:re.match(r"[a-z0-9][a-z0-9_]{2,14}[a-z0-9]@sina\.com$ "  ,  "1234@sina.com") ——新浪邮箱注册限制

 ① 以后写正则表达式要习惯加上 r ,因为\n、\t没在正则表达式中出现过,所以用r自动转义;而 在正则表达式中出现了,所以单独转义   \.

 ② 而\d、\w有特殊意义,在正则表达式中出现,如果转义单独转义。

 ③ 点在正则中有特殊意义,要匹配,想要后面字符串输入的sina.com必须是点,而不是sina@com要用 \. 自动转义(\自动转义)

二、表示边界

1、$ 匹配字符串结尾——加上$后,结束的意思,限制匹配字符串内容个数,超出不输出

2、^ 匹配字符串开头

^ 不是出现在[ ]当中的话(出现在[ ]内叫取反),而是出现在描述的开始位置,所要表达的意义是不一样的

但是这个在match()方法中是体现不出来的,因为match()方法就是从头开始进行匹配的

3、\b 匹配一个单词的边界  

一个字符串中(“ ”内),出现空格会分成单独的单词,连在一块会默认一个整体

总结:^和$是描述整个字符串(整个规则)的边界—也就是“”里面所有的都考虑;

            \b 、\B是描述中间某个单词的边界(有空格分割,可分割成单独的单词)    

             如果字符串没有要匹配的字母,也不返回输出任何值

① 要以ve作为单词的结尾才可以:

也就是  —  先匹配\w,再找ve字母,比较是否符合\b意义,以ve结尾

② 下面:有空格hove作为单独的单词,检查边界 

     从左到右匹配,匹配到hove是以ve结尾的,返回hove,因为有空格,abc是另一个单词不管它

③ \s匹配了空格,而ve前边和后边都是ve,所以输出 ho  ve

 

4、\B  匹配非单词边界   —与上述相反

① \B要求ve的e右边部分必须得出现字符,不能出现空白字符,一旦出现了空白字符,就意味着e是这个单词的结尾了,也就是e是这个单词的边界了。——不输出

如果字符串没有ve字母,也不返回输出任何值

只要单词不是ve结尾就匹配成功,返回值

 

 

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux正则表达式是一种用来匹配文本内容的表达式,它可以方便地在Linux系统中进行文本处理和搜索。下面是一份Linux正则表达式大全,包括常用的正则表达式语法和示例: 1. 字符匹配 正则表达式语法:字符 示例: * 匹配单个字符: ``` a 匹配'a'字符 ``` * 匹配多个字符: ``` [abc] 匹配'a'、'b'或'c'字符 [^abc] 匹配除'a'、'b'、'c'以外的任意字符 [a-z] 匹配小写字母a到z中的任意一个字符 [A-Z] 匹配大写字母A到Z中的任意一个字符 [0-9] 匹配数字0到9中的任意一个字符 ``` 2. 重复匹配 正则表达式语法:字符+、字符*、字符? 示例: * 匹配多个字符: ``` a+ 匹配一个或多个'a'字符 a* 匹配零个或多个'a'字符 a? 匹配零个或一个'a'字符 ``` 3. 边界匹配 正则表达式语法:^、$ 示例: * 匹配行首和行尾: ``` ^a 匹配以'a'字符开头的行 a$ 匹配以'a'字符结尾的行 ``` 4. 逻辑匹配 正则表达式语法:字符1|字符2 示例: * 匹配两种字符中的任意一种: ``` a|b 匹配'a'或'b'字符 ``` 5. 分组匹配 正则表达式语法:(字符) 示例: * 匹配分组中的字符: ``` (a) 匹配'a'字符 ``` 6. 转义字符 正则表达式语法:\字符 示例: * 匹配特殊字符: ``` \. 匹配'.'字符 \* 匹配'*'字符 \+ 匹配'+'字符 \? 匹配'?'字符 \( 匹配'('字符 \) 匹配')'字符 ``` 以上是Linux正则表达式的常用语法和示例,可以根据实际需求进行学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值