下面是我將文件導入正則表達式中的字符串匹配pattern
- 東切斯特頓(劍橋)
- 紐約(美國)
- 孩子(家長)時間用樣品的話
因此,這裏的業務規則:
- 杉木ST詞應該是至少3個字符長(樂子)
- 允許空間
,但它是無效的,如果這裏只有空間(樂東切斯特頓)
- 這個詞的另一部分是在
(someword)
- 的
(someword)
是可選 - 如果
(someword)
是有它的最小長度是3,和空格也是允許的。
我在用下面的表達式一定程度上實現了這一點:
^[a-zA-Z ]{1,}\([a-zA-Z ]{1,}\)$
現在我要確保這是正確的表達。有沒有辦法檢查自動化檢查多個組合來驗證我的表情?
我怎樣才能實現可選部分(點號4),它分鐘i是否通過(somedata)還是不用於檢查第一部分。
而且提取的數據 '()'
\((.*?)\)
測試它在這裏https://regex101.com/ –
'{1,}'匹配一次或多次,但你說你需要在至少3個字符,所以應該是'{3,}'。對於可選部件,使用'?'。請注意'(...)'表示一個組。要匹配括號,您需要將它們轉義:'\('和'\)'。還要注意,你可以使用諸如'\ w'(單詞字符)和'\ s'(空白字符)之類的字符類來代替明確的範圍。您還可以在第一部分和第二部分之間使用'\ s *'(0或更多空白字符)來允許(可選)空格。 –
雖然您可以使用regex101執行此任務,但請注意,該網站不支持.NET正則表達式語法。使用regexhero.net或regexstorm.net。現在,你的要求並不那麼清楚:分鐘是多少? 3的長度?第一個字還是所有的子部分?爲了測試正則表達式,你應該自己考慮可能的輸入字符串類型,沒有辦法自動創建測試字符串。內容驅動正則表達式,反之亦然。嘗試此正則表達式:['^ [AZ] +(= [AZ] {3,}?)(?:?\ p {ZS} \((= [AZ] {3,...})[AZ] + \))嗎?\ r?$'](http://goo.gl/bkqHDp)。 –