繁体   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