我遇到了正則表達式的問題,它匹配除中間的2位數字之外的所有內容。正則表達式匹配除2位數以外的所有內容
實施例:
輸入:40442**75**22123456
匹配度:75
允許:4044273xxxxxxxx
,4044255xxxx
等。
我的表達式是:[0-9]{5}[0-68-9]{1}[0-46-9]{1}[0-9]{8}
它適用於完全匹配,但在例外情況下失敗。
我遇到了正則表達式的問題,它匹配除中間的2位數字之外的所有內容。正則表達式匹配除2位數以外的所有內容
實施例:
輸入:40442**75**22123456
匹配度:75
允許:4044273xxxxxxxx
,4044255xxxx
等。
我的表達式是:[0-9]{5}[0-68-9]{1}[0-46-9]{1}[0-9]{8}
它適用於完全匹配,但在例外情況下失敗。
如果您只想在該位置使用75,請使用替換。
將您所有的例外置於交替狀態。會有重疊,
但會有一些不允許的。
如果這種情況下不允許很少,那麼使用負面斷言的一般
範圍,以禁止一些。即[0-9]{2} (?<!52|74)
[0-9]{5}(?:[0-68-9][0-46-9]|75)[0-9]{8}
擴展
[0-9]{5}
(?:
[0-68-9]
[0-46-9]
| 75
| [0-9]5
| etc...
)
[0-9]{8}
你是什麼意思它沒有異常的情況?這些數字是否符合預先確定的要求,還是至少始終處於相同的位置?您決定要刪除哪些數字的標準是什麼? – Harrison
除了中間的東西外,你無法匹配所有東西。你需要得到前5個,然後將該值與最後8個數字連接起來?用'^(\ d {5})\ d {2}(\ d {8})$'捕獲這兩個組並將它們連接起來。 –
您正在使用哪種正則表達式引擎,並且您在該引擎上設置了哪些修飾符? –