2013-08-22 18 views
0

我一直在與正則表達式構建器和教程混合,並不能解決這個問題。我有一個關鍵字,我可以找到,我需要找到時間戳在同一行或下一行。正則表達式,當你找到一個關鍵字時,獲得行後的第一個字符

我的文字看起來像這樣

16:51:35.536 This is a bunch of completely random text although it has a keyword. This keyword is unique 
16:51:35.806 This is another line which has all sorts of crap i dont really care about. 

現在什麼即時試圖捕捉或者是前8個字符來獲得時間戳,即16點51分35秒

所以我嘗試做類似的東西這

it has a keyword (.*) ([0-9){2}:[0-9){2}:[0-9){2}) 

但它卡住在該行無論出於何種原因,即使我在年底或/ s的添加/ M或/ S

這部作品獲得到下一行:

([\s\S]*) 

所以我嘗試

it has a keyword ([\s\S]*)(?=[0-9){2}:[0-9){2}:[0-9){2}) but that didnt work either 

Im相當肯定它比IM那麼複雜使得它,如果你想第一個任何想法

+0

對於初學者,您是否確實指''[0-9]'而不是'[0-9]'? –

回答

1

關鍵字字符串'foobar'中的八個字符,然後您可以使用:

^(.{8})[^\n]*foobar.*?$ 

你可以在http://rubular.com/r/gW8GCRrYkg看到這項工作,這很容易修改,以獲得下一行的前八個字符,或對前八個字符進行約束。

+0

這似乎不工作在PHP中,看到這個編輯器http://www.gskinner.com/RegExr/ – user1547410

+0

啊,它當我運行的代碼,乾杯 – user1547410

相關問題