[英]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.