簡體   English   中英

正則表達式 Python 右引號

[英]REGEX Python right quotation mark

起初這是我的正則表達式,直到現在

(``|,,|")([^"|^'{2}|`{2}|^,{2}]*)(''|``|")

我認為我設置的第二組中的否定不能正常工作。 如您所見,我將所有否定都分開了,我不知道這是否可行。

這應該例如找到這句話

``Some question is here ,some text here''

但不是這個

``Some question is here ,,some text here''

我已經花了幾個小時試圖找到解決方案,但我是 Regex 的新手,我找不到解決方案。 提前感謝您的幫助。

您可以使用

^(``|,,|")((?:(?!"|'{2}|`{2}|,{2}).)*)(''|``|")$

查看正則表達式演示

詳情

  • ^ - 字符串/行的開頭
  • (``|,,|") - 兩個反引號、逗號或雙引號
  • ((?:(?,"|'{2}|`{2}|.{2}).)*) - 除了換行符之外的任何單個字符,盡可能多,不是"並且確實不以'' 、兩個反引號或,, char 序列開頭
  • (''|``|") - '' ,兩個反引號,或一個"
  • $ - 字符串/行的結尾。

請參閱Python 演示

import re
rx = r"""^(``|,,|")((?:(?!"|'{2}|`{2}|,{2}).)*)(''|``|")$"""
texts = ["``Some question is here ,some text here''", "``Some question is here ,,some text here''"]
for text in texts:
    m = re.search(rx, text)
    if m:
        print(f"MATCHED: {text}")

暫無
暫無

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

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