【问题标题】:RegEx - avoid matching a word ending with a specific characterRegEx - 避免匹配以特定字符结尾的单词
【发布时间】:2022-11-22 01:09:52
【问题描述】:

我正在尝试创建一个正则表达式 (regexp),它将避免匹配以 '@'、'-'、'!'、':' 和 '>' 结尾的单词

规则如下 - 名称应以 @ 开头,后面可以有除上述字符之外的任何字符。 所以在以下字符串中: 'zhsvfghzfajhuib@Bobbie?skvshvfhj!G!' - @博比?将匹配 '768huehfvwkjv@Lana97958749ndgjhb!G!' - @Lana9 将匹配 ',vbfnhytjnh@Sammie-sjvjhsvfjj!G!kjdbdjb' - @Sammie- 将不匹配,因为名称后面的字符在上述范围内。

我最近的尝试是:@(?[A-Za-z]+)[^@-!:>] 但它所做的只是删除最后一个字符并且仍然匹配。

我试过了:

  • 在搜索中添加另一个字符 @(?[A-Za-z]+).[^@-!:>] 但搜索只是移动到下一个字符。
  • 添加单词边界 @(?[A-Za-z]+)\b[^@-!:>] 这在某些情况下有帮助,但不是全部

【问题讨论】:

    标签: regex


    【解决方案1】:

    考虑字符 c 的以下正则表达式。它将避免所有以c 结尾的单词:

    /w+[^c]/
    

    笔记:这里, :单词边界, w:字, [^]:否定集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2022-11-19
      • 1970-01-01
      相关资源
      最近更新 更多