交替運算符|
的範圍是什麼?在某些情況下,似乎|
左側的所有內容都是一種替代方案,|
右側的所有內容都是第二種替代方案。爲什麼替代方案不僅限於緊接在|
之前和之後的捕獲組或令牌?RegEx交替範圍
我使用RegExr進行測試,但我將在Java中運行正則表達式。
我有兩個短的正則表達式:(粗體匹配)
(\d{3})\W+(SSN)
SSNx 123 SSN
(SSN)\W+(\d{3})
(匹配粗體)
SSN 123 SSN
如果我結合正則表達式如下:
(\d{3})\W+(SSN)|(SSN)\W+(\d{3})
的正則表達式匹配(粗體)
SSN 123 SSN
SSNx 123 SSN
爲什麼我不需要添加pa像這樣的房租?
((\d{3})\W+(SSN))|((SSN)\W+(\d{3}))
我期望交替操作僅在周圍的捕獲組之間交替, 「SSN」或「SSN」。如果是這種情況,那麼結果將如下所示:
((\d{3})\W+(SSN)\W+(\d{3}))
無匹配結果。