繁体   English   中英

JS 正则表达式匹配以字符开头的单词,但如果它是双精度则忽略

[英]JS Regex match word starting with character but ignore if it's double

所以我有这个常规的 exp :: /(?:^|\W)\£(\w+)(?!\w)/g

这是为了匹配字符£之后的单词。 IE; 如果您输入Something £here ,它将匹配£here

但是,如果您££here我不希望它匹配,但是,我不确定如何匹配£开始但忽略它是否是££

是否有关于如何实现这一目标的指导?

您可以将£添加到\W

/(?:^|[^\w£])£(\w+)/g

实际上, (?!\w)在这里是多余的(因为在一个单词 char 之后,没有更多的单词字符),您可以安全地删除它。

请参阅正则表达式演示 详情

  • (?:^|[^\w£]) - 字符串的开头或除单词和£字符之外的任何单个字符
  • £ - 文字字符
  • (\w+) - 第 1 组:一个或多个单词字符。

如果你也不想$£here

(?<!\S)£(\w+)

解释

  • (?<!\S)向左断言空白边界
  • £从字面上匹配
  • (\w+)捕获组 1中的 1+ 个单词字符

请参阅regex101 演示


如果不支持后视:

(?:^|\s)£(\w+)

查看另一个regex101 演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM