2013-08-02 84 views
-1

我有這樣我該如何解析這個正則表達式?

simm_ar_stg --want

simm_ca_bs數據--want

simm_std --dont想

我嘗試這一點,但它不工作simm_(a-zA-Z)(a-zA-Z)_.*

任何想法如何解析這個?

+4

歡迎來到StackOverflow。爲了得到更好的答案,你應該提供更多關於你期望的細節。你想從你的正則表達中得到什麼?要匹配前兩項而不是第三項?就像「以simm開頭,加上一個underscode,再加上兩個字母,再加上一個下劃線?」你的問題出現的方式,很難猜出你的期望。 – carlosfigueira

+5

此外,你可能想改善你的問題標題。這聽起來像你想解析一個正則表達式,即類似於正則表達式編譯器中的語法識別。然而,你實際上似乎想要做的是使用正則表達式解析字符串*如果從標題中可以看出,你可能會吸引更多能夠幫助你的人 –

+0

你需要告訴我們,鑑於這三個字符串,你期望匹配(或不匹配)以及以$ 1和$ 2返回什麼,我猜測「 --want「和」--dont want「是註釋。 –

回答

0

假設你正在尋找什麼是 「simm_」,然後點擊文本,然後 「_」,那麼更多的文字,你可以嘗試:

simm_.*_.* 
0

試試這個正則表達式:

'/^\w+(-){2}\w+$/' 
0

代碼應當是

simm_([a-zA-Z]{2})_.* 

simm_([a-zA-Z])([a-zA-Z])_.*` 
+0

圓括號在那裏服務的目的是什麼? –

+0

@Xynariz字符類。 – Mathletics

+0

@Mathletics是的,意識到幾秒鐘來不及... – Xynariz

1

這個表達式將做的工作適合你:

simm_[a-zA-Z]{2}_[a-zA-Z]+ 

假設你需要simm_XX_Y其中X是一個字母,而y應該是一個或多個字母。表達式以simm_開頭,然後我們要求任何字母大寫或小寫字母,並且要求這些符號中的2個符號。之後,我們有另一個'_'符號,後面跟另一個大寫或小寫字母,'+'量詞表示至少有一個。這將匹配:

simm_ar_stg 
simm_ca_bs 

但不匹配:

simm_std 
0

好像你想:simm_letter1letter2_anything

如果是這樣的話,試試這個正則表達式:

`/^simm_[a-zA-Z]{2}_.*/` 

您正在使用(...),這被稱爲捕獲組。相反,您希望使用字符類[...]^的意思是「以......開頭」。