我有這句話「我是一個男孩與法國人 - Glukker人」。我想匹配法語之後的每個角色,以便正則表達式突出顯示「 - Glukker Man」。目前我正在使用:目前我在做:如何匹配一個字後的所有字符
(french[\s\S]*?)
但它突出顯示只有「法國」。 這是regex test
請問我該怎麼做?
我有這句話「我是一個男孩與法國人 - Glukker人」。我想匹配法語之後的每個角色,以便正則表達式突出顯示「 - 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>
(french[\s\S](.*))
使用第二組以突出顯示它
你可以使用split來做到這一點在Java中。只需將字符串與您想要的單詞分開,然後使用它的第二部分。
String str = "I am a boy with French - Glukker Man";
String str2 = str.split("French")[1];
System.out.println(str2);
輸出爲: - (?<=法語) 「Glukker人」
怎麼樣'' – khelwood
@khelwood它捕捉法國。但我不想讓它捕捉法國。 – Abdullq
@Abdullq它沒有捕獲法語,它使用它作爲向後看。只需在'。*'周圍添加parens,你應該很好走。 – rgoliveira