吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 711|回复: 8
收起左侧

[求助] Python re库 转义字符使用

[复制链接]
YorkWaugh 发表于 2023-12-1 12:02
re库中pattern中使用\b等元字符似乎需要转义,而raw string中似乎又不相同,如下图,"-"是否需要转义?哪些情况需要转义?使用"\"还是"\\"?这些转义的具体规则能否详细总结以下?谢谢!
223916in1ejd5ekbjydnkm.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

d8349565 发表于 2023-12-1 13:10
  1. \: 反斜杠用于转义特殊字符,例如 \. 匹配点字符,而不是匹配任意字符。
  2. .: 当需要匹配点字符本身时,需要使用 \. 进行转义。
  3. ^: 当需要匹配开始位置时,需要使用 \^ 进行转义。
  4. $: 当需要匹配结束位置时,需要使用 \$ 进行转义。
  5. *: 当需要匹配零次或多次前面的字符时,需要使用 \* 进行转义。
  6. +: 当需要匹配一次或多次前面的字符时,需要使用 \+ 进行转义。
  7. ?: 当需要匹配零次或一次前面的字符时,需要使用 \? 进行转义。
  8. []: 当需要匹配括号内的任意字符时,可以使用 \[ \] 进行转义。
  9. |: 当需要匹配多个模式中的一个时,需要使用 \| 进行转义。
  10. (): 当需要匹配括号本身时,需要使用 \( \) 进行转义。
  11. {}: 当需要指定前面的字符出现的次数时,例如 {3} 表示匹配前面的字符出现 3 次,需要使用 \{ \} 进行转义。
greatzdl 发表于 2023-12-1 13:40
前边加个r是不是就不用考虑那么多了 比如 “C://dd//test.txt” r"C:/dd/test.txt"
wapjsx 发表于 2023-12-1 14:09
greatzdl 发表于 2023-12-1 13:40
前边加个r是不是就不用考虑那么多了 比如 “C://dd//test.txt” r"C:/dd/test.txt"

可以这么理解,但也是具体情况具体分析的。
 楼主| YorkWaugh 发表于 2023-12-1 15:36
greatzdl 发表于 2023-12-1 13:40
前边加个r是不是就不用考虑那么多了 比如 “C://dd//test.txt” r"C:/dd/test.txt"

呃比如我图中的实践,为什么是\\d
无闻无问 发表于 2023-12-1 17:28
YorkWaugh 发表于 2023-12-1 15:36
呃比如我图中的实践,为什么是\\d

一个\代表是正则转义,另一个\代表是Python转义,故是\\d
greatzdl 发表于 2023-12-1 17:31
本帖最后由 greatzdl 于 2023-12-1 17:33 编辑
YorkWaugh 发表于 2023-12-1 15:36
呃比如我图中的实践,为什么是\\d

捕获.PNG

加个r表示元字符,就不用那么多事情了。
最重要的元字符是反斜杠, \ 。 与Python 字符串字面量一样,反斜杠后面可以跟各种字符来表示各种特殊序列。它还用于转义元字符,以便可以在表达式中匹配元字符本身。
Superwill8216 发表于 2023-12-1 17:51
記得之前想用這個抓取電子郵件可是一直失敗。
FruitBaby 发表于 2023-12-3 09:18
d8349565 发表于 2023-12-1 13:10
[md]1. `\`: 反斜杠用于转义特殊字符,例如 `\.` 匹配点字符,而不是匹配任意字符。
2. `.`: 当需要匹配点 ...

很全面,谢谢大佬分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表