[英]How to match the last word in a sentence?
假設我們有一個句子(最后一個句子后面有幾個單詞,但不帶點)。
我需要用一些html標記(例如<strong>lastword</strong>
)包裝最后一個單詞。
如何使用Java正則表達式實現這一目標?
我已經嘗試過了:
"John Doe Jr".replaceAll ("( .+$)", "<strong>$1</strong>");
但它導致
John<strong> Doe Jr</strong>
ps如果在<strong>
之后有一個空格是可以的,主要的問題是模式匹配最大的子序列,而我需要最小的子序列。
最后一個單詞是結尾或字符串之前的非空格字符。 您可以使用[]定義一組字符,並使用^對其進行取反,如[^ az]一樣,以匹配除az之外的所有字符。
"John Doe Jr".replaceAll("([^ ]+)$", "<strong>$1</strong>");
與Marcelo Cantos的答案不同,這還具有不需要字符串中沒有空格的優點。
"John Doe Jr".replaceAll("(\\S+)$", "<strong>$1</strong>")
\\ S是非空格字符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.