2015-09-16 103 views
0

我有一個這樣的字符串:正則表達式:兩個字符串之間匹配字符串

[01/09/2015 00:00:47]  INFO=54646486432154646 from=steve idfrom=55516654455457  to=jone  idto=5552045646464 guid=100021623456461451463 n 
um=6 text=hi my number is 0 811 22 1/12 status=new  survstatus=new 

我想提取文本字段,結果應該是這樣的:

hi my number is 0 811 22 1/12 

這是我試過爲正則表達式:

text=(.*)status 

,這讓我這個:

hi my number is 0 811 22 1/12 status=new  survstatus=new 

所以這不是我想要的,我怎麼能擺脫兩個最後的領域?

謝謝。

+2

使用'*',而不是'*'。?。 [見貪婪與非貪婪](http://stackoverflow.com/questions/3075130/difference-between-and-for-regex/3075532#3075532) – HamZa

+1

@HamZa感謝HamZa,你救了我的一天:) – brest1007

+0

@HamZa發佈它作爲答案:) – CinCout

回答

0

所以答案是text=(.*?)status,感謝@HamZa的快速回答。

1

我會使用:

\btext=(.*?)\bstatus= 

爲了避免匹配狀況hi my status is 0

+0

感謝您的回答,這是更好的。 – brest1007

0

它看起來像你的數據是製表符分隔。如果是這樣的話,這可能是更好:

\ttext=([^\t*]) 

這基本上說,找到了卡之後「文本=」,然後捕捉一切,直到下一個標籤。

看看這裏:

http://refiddle.com/2iqa

相關問題