要匹配“\\r”的正则表达式

2024-06-07 12:46:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我在编写与这些输入匹配的正则表达式时遇到问题:
1.\\r
2.\\rSomeString
我需要一个匹配\\r的正则表达式


Tags: rsomestring
3条回答

两次从背后砍伤中逃脱。字符串将\解释为特殊字符标记。你知道吗

改用\\\\r\\实际上被解释为\。你知道吗

编辑:因此根据注释,您需要任何以\\r开头的字符串,以及其后的任何字符串。正则表达式模式如下:

(\\\\r\S*)

\\\\r是您想要在开始处的字符串,\S*表示任何非空白(\S)可以在任意次数(*)之后出现。你知道吗

Python中的反斜杠可以与r'\\'匹配(注意使用原始字符串literal!)。您有两个文本反斜杠,因此,在r之前需要4个反斜杠(在原始字符串文本中)。你知道吗

因为在\\r之后可能有任何字符,所以可以使用

import re
p = re.compile(r'\\\\r\S*')
test_str = r"\\r \\rtest"
print(p.findall(test_str))

Python demo

图案说明

  • \\\\-2个反斜杠
  • r-文字r
  • \S*-零个或多个非空白字符。你知道吗

变化:

  • 如果r后面的字符只能是字母数字或下划线,请使用\w*而不是\S*
  • 如果只想在非单词字符之前匹配\\r,请在模式中的反斜杠之前添加\B非单词边界。你知道吗

您可以在线微调正则表达式,例如在this site。你知道吗

相关问题 更多 >

    热门问题