[英]regular expression to match pattern in string
以下是在文件導入時將使用的示例單詞
因此,這是業務規則:
,但如果只有空間,那是無效的(le East Chesterton) ( someword )
( someword )
是可選的 ( someword )
存在,則其最小長度為3,並且還允許使用空格。 我使用以下表達式在某種程度上實現了這一點:
^[a-zA-Z ]{1,}\([a-zA-Z ]{1,}\)$
現在我要確保這是正確的表達。 有什么方法可以自動檢查多個組合以驗證我的表情?
我如何實現可選部分(第4點),它是否可以通過(somedata)檢查第一部分的最小值。
還要提取“()”中的數據
\((.*?)\)
我想你快到了。 我試了 這符合您的所有要求嗎?
^[a-zA-Z\s]{3,}(\([a-zA-Z\s]{3,}\))?$
https://regex101.com/r/yE9lB0/2
我通過將第二部分放在括號之間並在末尾添加問號來使其成為可選部分: (myoptionalexpression)?
我已經看過這里發布的答案。
^[a-zA-Z\s]{3,}(\([a-zA-Z\s]{3,}\))?$
這會與
只有空白空間已經匹配。
除此之外,“字符”的描述可能有點含糊。 因此,我假設單詞\\w
是您的意思。 (在C語言中, \\w
應包含ü
等unicode字符。以Münster (Germany)
為例。
新的正則表達式如下所示:
^\s*(?:\w{3,}\s*)+(?:\(\s*(?:\w{3,}\s*)+\))?\s*$
此處的示例: https : //regex101.com/r/gS7kG8/3
請注意,regex101頁面可與php,python和js regex一起使用,在C#的情況下,它不會給出確切的結果(例如,PHP中的\\w
顯然與unicode不匹配)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.