如何匹配一个单词后的所有字符

时间:2016-07-26 20:31:34

标签: java regex

我有这句话"我是法国男孩 - 格鲁克曼"。我希望在法语之后匹配每个角色,以便正则表达式突出显示" - Glukker Man"。目前我正在使用这个:目前我在做:

(french[\s\S]*?)

但它只突出了#34;法语"。 这是regex test

拜托,我该怎么做?

3 个答案:

答案 0 :(得分:3)

使用正面的lookbehind匹配french,然后使用.*选择其后的所有内容:

(?<=french)(.*)

然后你可以在替换中使用它:

<center>$1</center>

或者,您可以匹配法语,然后只捕获它后面的内容。

french(.*)

在这种情况下,您似乎试图用<center></center>包围您的匹配,因此要使第二个示例正常工作,您必须在其自己的组中捕获french并将其放入回来,或者替换它:

Regex: (french)(.*)
Replacement: $1<center>$2</center>

或者

Regex: french(.*)
Replacement: french<center>$1</center>

答案 1 :(得分:0)

(french[\s\S](.*))

使用第二组突出显示

答案 2 :(得分:0)

您可以使用split在Java中执行此操作。只需将字符串与您想要的单词分开,然后使用它的第二部分。

String str = "I am a boy with French - Glukker Man";
String str2 = str.split("French")[1];
System.out.println(str2);

输出是:“ - Glukker Man”