![](/img/trans.png)
[英]C# Regular expression for combination of space, alphanumeric and special characters
[英]C# Regular expression combination
我只是想知道是否可以將這兩個表達式合而為一。
Regex comb1 = new Regex("[A-Z0-9]{4,6}-[A-Z0-9]{4,6}-[A-Z0-9]{4,6}");
Regex comb2 = new Regex("[A-Z0-9]{4,6}-[A-Z0-9]{4,6}-[A-Z0-9]{4,6}-[A-Z0-9]{4,6}");
通常,您將使用交替( |
)來匹配多個模式之一。 例如:
aaa|bbb
將首先嘗試匹配模式aaa
,然后嘗試模式bbb
。
但是,由於您的模式是如此相似,因此您可以使用如下所示的內容:
[A-Z0-9]{4,6}(-[A-Z0-9]{4,6}){2,3}
這將匹配四到六個字母數字字符的任何序列,后跟一個連字符和四到六個字母數字字符,必須重復兩次或三遍。
如果圖案中有可選零件,可以使用(OptionalPattern)?
,因此您的代碼可能變為:
[A-Z0-9]{4,6}-[A-Z0-9]{4,6}-[A-Z0-9]{4,6}(-[A-Z0-9]{4,6})?
但是pswg的{2,3}
是一個更好的選擇,因為它還消除了模式中不必要的重復。 我只說這是因為它在類似情況下很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.