下面的字符串:u00,因为我需要将其替换为\u00。有时候这个字符之前出现的时候是\,那我就不想捕捉了。有时候符号是",我就想捕捉,但是就u00,不捕捉"u00我尝试这个:
u00
\u00
\
"
"u00
file_modified = re.sub(r'[^\\|^\s](u00)', r'\\u00', original_file)
我正在捕捉",我不知道如何跳过它,我只想捕捉u00
jaql4c8m1#
只需 选择 性 地 进行 匹配 :
file_modified = re.sub(r'\\?u00', r'\\u00', original_file)
中 的 每 一 个在 这里 ,
\\?u00
\\u00
因此 , 即使 在 u00 之前 有 一 个 \ , 它 也 不会 消失 , 也 不会 被 加倍 , 但 如果 它 丢失 了 , 它 将 被 添加 。请 参阅 Python demo :
import re original_file = r"u00 because i need to replace it to \u00" print(re.sub(r'\\?u00', r'\\u00', original_file)) # => \u00 because i need to replace it to \u00
格式
zujrkrfu2#
使用负lookbehindAssertr'(?<!\\)(u00)'。将匹配u00,前提是它前面不带\。
r'(?<!\\)(u00)'
2条答案
按热度按时间jaql4c8m1#
只需 选择 性 地 进行 匹配 :
中 的 每 一 个
在 这里 ,
\\?u00
- 匹配 可选 的\
和u00
\\u00
- 是 替换 为\u00
的 替换 模式因此 , 即使 在
u00
之前 有 一 个\
, 它 也 不会 消失 , 也 不会 被 加倍 , 但 如果 它 丢失 了 , 它 将 被 添加 。请 参阅 Python demo :
格式
zujrkrfu2#
使用负lookbehindAssert
r'(?<!\\)(u00)'
。将匹配u00
,前提是它前面不带\
。