我有这句话"我是法国男孩 - 格鲁克曼"。我希望在法语之后匹配每个角色,以便正则表达式突出显示" - Glukker Man"。目前我正在使用这个:目前我在做:
(french[\s\S]*?)
但它只突出了#34;法语"。 这是regex test
拜托,我该怎么做?
答案 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”