簡體   English   中英

兩個不同的正則表達式合二為一?

[英]Two different regular expressions in one?

我想把這個正則表達式放到一個正則表達式中,但現在不知道如何:

/^([0-9]{2,4})\-([0-9]{6,7})$/
/^\*([0-9]{4})$/

所以字符串可以得到 XX(XX)-XXXXXX(X) 或 *XXXX

謝謝。

要合並兩個正則表達式AB ,請執行以下操作:

/(A|B)/

這可能會改變一組捕獲括號的順序。 另請注意,可能不需要括號,例如A|B可能適用於您的簡單情況。

在其他支持具有命名捕獲的正則表達式的語言中,您可以使用它們。

你可以 OR-他們這個:

XX(XX)-XXXXXX(X)|*XXXX

這樣任何一個都會匹配...

您遇到的麻煩是,當第二個匹配時,您沒有設置 \1 ($1) 和 \2 ($2) ...

使用 | (或者)。

IE:

/^([0-9]{2,4})\-([0-9]{6,7})|(\*([0-9]{4})$/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM