2012-09-04 51 views
2

我的正則表達式是紅寶石正則表達式找到匹配嵌套

/a .*programming .*test .*this/i 

和測試字符串是

This is a test This is a programming test This is a programming test in any language 

我得到的比賽是

a test This is a programming test This 

但是還有另外一個較短的比賽「」編程測試這個「,這正則表達式無法找到,我用掃描方法來找到所有的比賽,但即使不能捕捉到這一點。

任何幫助不勝感激

回答

0

RegexP是一個非常複雜的事情!你真的需要知道你的字符串的哪些部分對匹配和哪些不是很重要。有很多種方法可以完成比賽,但是很難猜出您實際想要的內容:

s = "This is a test This is a programming test This is a programming test in any language" 
s.match(/a [^a]*programming .*test .*this/i)[0] 
=> "a programming test This" 
+0

謝謝。它解決了這個問題。 – sapy

+0

那麼你應該接受 – phoet

+0

接受的答案。 :-)。 – sapy