2013-09-27 30 views
2

所以我想寫一個Java程序,將匹配:字符串正則表達式馬赫字母組成單詞

asdasdjhaskldhlasdklsadeaadsasdkljhasdklhjt 

那麼會發生什麼事是

asdasdjhaskldhlasdklsad_**E**__**A**_adsasdkljhasdklhj_**T**_ 
中(例如 eat

所以我已經在正則表達式是匹配的第一個字母這麼遠......

^([e]+) - E 

但我這樣不知道浩w允許匹配之間的字母和空格。

+1

您可能想從[正則表達式教程](http://www.regular-expressions.info/tutorial.html)開始。這真的很簡單:'e。* a。* t'。 –

回答

1

你可以使用這樣的模式:

e.*a.*t 

這將匹配一個e,其次是零個或多個任意字符,然後是a,隨後的任意字符零以上,其次是一個t

4

你可以嘗試這樣的事:

e.*?a.*?t 

這將匹配從輸入字符串最接近eat(你高亮顯示)。

或者你可以使用一個否定的類,它可能會在更大的串更快:

e[^a]*a[^t]*t 

[^a]*將匹配任何東西,但a[^t]*將匹配任何東西,但t

+0

我使用了^(e)+。*?a。*?t,它匹配所有像 eeeeeaaaattttt – user2821370

+0

@ user2821370'^'匹配您正在應用正則表達式的字符串的開頭。 '(...)'是一個捕獲組,並且您正在重複「e」一次或多次。有沒有其他需要幫助的東西? – Jerry

+0

我想匹配字符串中第一次出現的字母 – user2821370

相關問題