我需要一個按以下規則匹配制表符的正則運算式:
"—>text" does not match
"1.—>text" does not match
"1—>text" does not match
"A.—>text" does not match
"text—>text" match
也就是說,它不應該匹配位于文本開頭、列出的專案標記 [AZ] 或 [0-9] 之后的制表符。這是我的表達:
(?<!^((?:\d |[A-Z])(?:\.)?))\t(?!\1)

如何解決?
uj5u.com熱心網友回復:
您可以使用
(?<!^(?:(?:\d |[A-Z])\.?)?)\t
請參閱正則運算式演示。詳情:
(?<!^(?:(?:\d |[A-Z])\.?)?)- 如果在當前位置的左側緊挨著,則匹配失敗的負向后視^- 字串的開始(?:(?:\d |[A-Z])\.?)?- 一個可選的序列(?:\d |[A-Z])- 一個或多個數字或一個大寫的 ASCII 字母\.?- 一個可選的.
\t- 一個制表符。
請注意,(?:\.)?與\.?.
此外,在負向后視中捕獲組幾乎沒有意義,因為在達到您的反向參考模式之前將停止正則運算式處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/377519.html
