我正在嘗試在 Python 風格的以下字串中匹配“請匹配我”:
bar\nStartOfString\nignoreMe\ntoBeIgnored\n請匹配我\nignoreYou\nEndOfString\nfoo
結果必須排除ignoreMe,toBeIgnored和ignoreYou,因為這些詞的位置是相對的。
到目前為止我已經嘗試過:
StartOfString((?!ignoreMe)(?!toBeIgnored)(?!ignoreYou).*)EndOfString
\b(?!ignoreMe|ignoreYou|toBeIgnored)\b\S
https://regex101.com/r/VaROsW/2
有人可以幫忙嗎?
uj5u.com熱心網友回復:
您可以使用捕獲組來捕獲您想要的內容。
如果要匹配\n(反斜杠和n字符),則可以在交替中的單詞之間匹配最少的字符。
(?:(?:ignore(?:Me|You)|toBeIgnored)\\n) (.*?)\\n(?:ignore(?:Me|You)|toBeIgnored)
正則運算式演示
如果\n是換行符,您可以使用否定前瞻來防止匹配交替中的單詞:
^(?:ignore(?:Me|You)|toBeIgnored)((?:\n(?!ignore(?:Me|You)|toBeIgnored).*))\n(?:ignore(?:Me|You)|toBeIgnored)
正則運算式演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408156.html
標籤:
