我試圖建立一個正則表達式,我被要求過濾字符串像Recusive排序正則表達式
country:India provinces:Uttranchal city:Dehradun zip_code:12345
從字符串這樣
keyword: one two three country:India provinces:Uttranchal city:Dehradun zip_code:12345 filter: myparameter
現在的我編寫了基本的正則表達式,如
country:\w+|provinces:\w+|city:\w+|zip_code:\w+
哪種類型的做的工作對我來說如果country
,provinces
,city
是單個單詞
但如果他們不 例如
keyword: one two three country:United-States provinces:Manhattan city:New-York zip_code:12345 filter: myparameter
以上reqex只是沒有因爲非限制的工作單詞字符如-
你可以假設國家,省份或城市,並有多個加入的詞-
像
country:United-States-of-America provinces:Washington-Dc city:New-York-West
等 等...
所以-\w+
是一種具有0以上occurence遞歸模式的任一country
,provinces
,city
或全部
現在我也嘗試建立一個正則表達式同樣是這樣的
(country:\w+(-\w+)*)|(province:\w+(-\w+)*)|(city:\w+(-\w+)*)|(zip_code:\w+(-\w+)*)
這雖然比賽 但你可以在rubular screenshot看到連接,它也呈現非公認輸出和零
我要的是避免non-accepted
和nil
輸出,導致匹配問題分離的結果,當從給定的輸入字符串所需的字符串或可有人建議我比這
正則表達式不能以直接幫助你的方式工作。如果您使用的是支持正則表達式的編程語言,那麼對於您想要執行的操作,有一些非常簡單的解決方案。但是,你在用什麼語言工作?紅寶石?如果您告訴我們我們可以提供更準確的解決方案。 –
@AndrewMartinez是紅寶石 – Ratatouille