正则表达式匹配字母里面的语句来表达一个词

时间:2013-09-27 18:50:07

标签: java regex

所以我试着在字符串中编写一个匹配(例如:eat)的java程序

asdasdjhaskldhlasdklsadeaadsasdkljhasdklhjt

那会发生什么是

asdasdjhaskldhlasdklsad_**E**__**A**_adsasdkljhasdklhj_**T**_

所以我在正则表达式中到目前为止匹配的是第一个字母......

^([e]+) - E

但我不知道如何在比赛之间允许字母和空格。

2 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

e.*?a.*?t

这将匹配输入字符串(您突出显示)中距离最近的eat

或者你可以使用一个否定的类,它可能在更大的字符串上更快:

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

[^a]*将匹配a以外的任何内容,而[^t]*除了t之外的所有内容都匹配。

答案 1 :(得分:1)

你可以使用这样的模式:

e.*a.*t

这将匹配e,后跟零个或多个字符,后跟a,后跟零个或多个字符,后跟t。< / p>