簡體   English   中英

如何在正則表達式中使用“ OR”?

[英]How to use 'OR' in regular expressions?

我想有一個接受這些形式的正則表達式:

23456KW33C3

23456KW33

23456千

23456

23456W33C3

23456W33

我寫了這兩個正則表達式

/(?i)^2\d{4}K?(M|(W33)(C3)?)?$/i

/(?i)^2\d{4}K?(M|(W33)|(W33C3))?$/i

他們接受所有形式,但不接受23456KW33C3

我在if表達式中使用它:

if (preg_match('/(?i)^2\d{4}K?(M|(W33)(C3)?)?$/i' ,$text))

他們怎么了 ?

您的表達式工作正常,您可能只想刪除開始和結束字符,它也將通過23456KW33C3

2\d{4}k?(m|(w33)(c3)?)?

該鏈接可幫助您根據需要修改/更新表達式。

在此處輸入圖片說明

我不太確定您想搭配什么。 您可能想要簡化您的表達並減少它的限制。


如果您希望使用OR編寫表達式,則此表達式說明了您可能希望這樣做:

2\d{4}(k|)|(m|w33)|(c3)

您可以將它們添加到您擁有的捕獲組之間,以從左向右滑動所需的輸出。 然后,如果需要,之后可以添加更多邊界。

在此處輸入圖片說明

RegEx電路

鏈接可幫助您可視化表達式:

在此處輸入圖片說明

暫無
暫無

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

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