1 回答
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用該模式:
(?<!\w)?(?!\w)
這使用否定環(huán)顧來匹配兩邊都沒有單詞字符的表情符號(hào)。
您詢問的匹配的原因是\b零寬度邊界,其中邊界的一側(cè)是\w(單詞字符或[0-9A-Za-z_]),另一側(cè)是字符串或\W(非單詞字符)的開頭或結(jié)尾。
例如,考慮字符串"foo.":
start of string boundary (zero width)
|
| non-word character
| |
v v
foo.
^ ^
| |
word characters
邊界\b可以在正則表達(dá)式中使用,并通過和字符之間的邊界以及字符串開頭和 字符 之間的邊界\bfoo\b找到匹配項(xiàng)。o.f
"foobar"不匹配,\bfoo\b因?yàn)榈诙€(gè)oandb不滿足邊界條件,即b不是非單詞字符或字符串結(jié)尾。
該模式\b-\b與字符串不匹配,"-"因?yàn)?quot;-"不是單詞字符。同樣,表情符號(hào)是由非單詞字符構(gòu)建的,因此它們不會(huì)像單詞字符那樣響應(yīng)邊界,就像 的情況一樣\bfoo\b。
添加回答
舉報(bào)
