【问题标题】:Regular expression to exclude specific bit排除特定位的正则表达式
【发布时间】:2014-07-30 09:18:03
【问题描述】:

到目前为止,我有这个:

@(\w+)(?=\s|[.,?!:;-]|$)

这对我的目的很有效,除了它包括我想排除的 @@jhgdsj 之类的东西。我如何在任何“单词”的开头排除多个 @ 的任何内容?

[编辑] 此处示例:example

粗体字(aaa、ddd、fff)所需的匹配项: @aaa 然后@@bbb 也 ccc@ccc 和 @ddd @fff 不是@@@ggg

【问题讨论】:

  • 你是如何使用“单词”这个词的?这是在更大的字符串中找到的吗?
  • 您的正则表达式本身确实匹配两个连续的@ 字符。请说明你是如何使用它的。
  • 感谢您的回复!查看给出的编辑和示例

标签: javascript regex


【解决方案1】:

只需添加开始模式以在开始时只允许一个@

^@(\w+)(?=\s|[.,?!:;-]|$)

DEMO

(?:^| )@(\w+)(?=\s|[.,?!:;-]|$)

DEMO

【讨论】:

  • 谢谢,但这会错过字符串中的其他实例,请参阅编辑和示例
  • 谢谢!有没有办法在匹配的结果中不包含空格字符?
  • 捕获的组仅包含 aaadddfff 请参见演示链接的右下角。
  • 哦,当然,我只是看亮点,再次感谢
  • +1 工作解决方案甚至理解问题! (我没有):)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多