簡體   English   中英

正則表達式匹配“ \\\\ r”

[英]Regular Expression to match “\\r”

我在編寫與這些輸入匹配的正則表達式時遇到了麻煩:
1. \\\\r
2. \\\\rSomeString
我需要一個匹配\\\\r的正則表達式

退回兩次斜線。 字符串的解釋\\為特殊字符標記。

請改用\\\\\\\\r \\\\實際上被解釋為\\

編輯:因此,根據注釋,您希望以\\\\r開頭的任何字符串以及其后的任何字符串。 正則表達式模式如下:

(\\\\r\S*)

\\\\\\\\r是您想在開始時輸入的字符串, \\S*表示在任意次數( * )之后可以出現任何非空白( \\S )。

Python中的文字反斜杠可以與r'\\\\'相匹配(請注意使用原始字符串文字!)。 您有兩個文字反斜杠,因此,在r之前需要4個反斜杠(在原始字符串文字中)。

由於\\\\r之后可能包含任何字符,因此可以使用

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

參見Python演示

模式說明

  • \\\\\\\\ -2個反斜杠
  • r文字r
  • \\S* -零個或多個非空白字符。

變化

  • 如果r之后的字符只能是字母數字或下划線,請使用\\w*而不是\\S*
  • 如果只想在非單詞字符前匹配\\\\r ,請在模式中的反斜杠之前添加\\B非單詞邊界。

您可以在線(例如在此站點)微調正則表達式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM