簡體   English   中英

帶有 Unicode 字符的正則表達式

[英]Regular expression with Unicode Characters

我需要正則表達式方面的幫助,我需要在字符串中捕捉字符🥇、⚡、❓ 和其他字符。 如果該字符位於行首且沒有空格,則在右側插入一個空格,如果該字符位於行尾且其前面沒有空格,則在左側插入一個空格。 如果字符在行中間沒有空格,則在左右插入空格。 到目前為止,我所能做的就是獲取角色本身 ' /[\x{000ff}-\x{fffff}]/u '

是的,它很長,但我這樣解釋你的問題:

  • 保持前導/尾隨空格完整;
  • 保持連續的表情完整。

因此,嘗試:

(?:(?<![\x{000ff}-\x{fffff}\s]|^)(?=[\x{000ff}-\x{fffff}])|(?<=[\x{000ff}-\x{fffff}])(?!$|[\x{000ff}-\x{fffff}\s]))

查看在線演示

它很長,但它基本上是一個非捕獲組,有兩種選擇;

  • 匹配前面沒有表情、起始行或空格但后面有表情的位置;
  • 匹配后面沒有表情符號、結束行或空格但前面有表情符號的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM