亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在特殊字符周圍使用 \b 邊界

如何在特殊字符周圍使用 \b 邊界

料青山看我應如是 2023-12-05 15:21:27
\b?\b不匹配單個表情符號:“?”。\b\u2B07\b不匹配:'??'。\b-\b 與“-”不匹配。\bfoo\b當然匹配“foo”。為什么會發生這種情況以及確保我的表情符號或任何特殊字符不在字符串中間的替代方法游樂場: https: //regex101.com/r/jRaQuJ/2
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

您可以使用該模式:


(?<!\w)?(?!\w) 

這使用否定環顧來匹配兩邊都沒有單詞字符的表情符號。


您詢問的匹配的原因是\b零寬度邊界,其中邊界的一側是\w(單詞字符或[0-9A-Za-z_]),另一側是字符串或\W(非單詞字符)的開頭或結尾。


例如,考慮字符串"foo.":


start of string boundary (zero width)

     |

     |   non-word character

     |   |

     v   v

      foo.

      ^ ^

      | |

word characters

邊界\b可以在正則表達式中使用,并通過和字符之間的邊界以及字符串開頭和 字符 之間的邊界\bfoo\b找到匹配項。o.f


"foobar"不匹配,\bfoo\b因為第二個oandb不滿足邊界條件,即b不是非單詞字符或字符串結尾。


該模式\b-\b與字符串不匹配,"-"因為"-"不是單詞字符。同樣,表情符號是由非單詞字符構建的,因此它們不會像單詞字符那樣響應邊界,就像 的情況一樣\bfoo\b。


查看完整回答
反對 回復 2023-12-05
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號