![](/img/trans.png)
[英]Match double quotation mark following punctuation with regex in Python to split sentence
[英]Python Regex: add restriction that it should NOT be a match if there is a quotation mark somewhere before the match AND somewhere after
我想:
我嘗試將消極的后視和前瞻結合起來,但我不知何故無法弄清楚。
太感謝了!
我目前的 Python 正則表達式如下:
r'''(?<=[@])\s*[A-Z0-9.]+(?=\()'''
示例文本:
@STRING4("@STRING5( 可能還有"另一個@STRING6("__"可能這里是文本") 和@STRING7("甚至可能還有另一個@STRING8("---"和一個"最后"一個"@STRING9( &"也許還有一些"文本"
現在返回(包括前導空格):
期望回報:
我不能做你想做的一切,因為 Python 不允許非固定寬度的后視,但是這個:
reg = r"(?<=@)\s*([A-Z\d.]+)(?=(?:[^\"]*\"[^\"]*\")*$)"
應該管用。 注意它期望引號在整個字符串中正確平衡。 它也不考慮任何轉義引號( \"
)。
編輯:我添加了一個捕獲組,您可以使用它來刪除前導空格。
一種方法是使用以下正則表達式
reg = r'(?:\"[^\"]+\")|(?:@\s*([A-Z0-9.]+)\()'
然后,您需要檢查匹配是否具有組 1。如果匹配,則為錯誤匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.