所以我试着在字符串中编写一个匹配(例如:eat
)的java程序
asdasdjhaskldhlasdklsadeaadsasdkljhasdklhjt
那会发生什么是
asdasdjhaskldhlasdklsad_**E**__**A**_adsasdkljhasdklhj_**T**_
所以我在正则表达式中到目前为止匹配的是第一个字母......
^([e]+) - E
但我不知道如何在比赛之间允许字母和空格。
答案 0 :(得分:4)
您可以尝试这样的事情:
e.*?a.*?t
这将匹配输入字符串(您突出显示)中距离最近的e
,a
和t
。
或者你可以使用一个否定的类,它可能在更大的字符串上更快:
e[^a]*a[^t]*t
[^a]*
将匹配a
以外的任何内容,而[^t]*
除了t
之外的所有内容都匹配。
答案 1 :(得分:1)
你可以使用这样的模式:
e.*a.*t
这将匹配e
,后跟零个或多个字符,后跟a
,后跟零个或多个字符,后跟t
。< / p>