我有这样一句话:“我是一个法语男孩-Glukker Man”。我想匹配法语之后的每个字符,以便正则表达式突出显示“-Glukker Man”。目前,我正在使用:目前,我正在执行:

(french[\s\S]*?)


但它仅突出显示“法语”。
这是regex test

拜托,我该怎么做?

最佳答案

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

(?<=french)(.*)


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

<center>$1</center>


另外,您可以匹配法语,然后仅捕获其后的内容。

french(.*)


在这种情况下,您似乎想用<center></center>包围比赛,因此,为了使第二个示例起作用,您必须将french捕获在其自己的组中并放回去,或者将其放入您的替代:

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


要么

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

08-04 22:14