【问题标题】:How to remove char from regex如何从正则表达式中删除字符
【发布时间】:2022-09-27 10:07:28
【问题描述】:

我还没有使用正则表达式。我一直试图打破我的头来让它工作。

我需要一个允许用户输入的正则表达式

  • 任何字母字符 (a-z)
  • 任何号码
  • 仅适用于特殊字符 \"-\" 和 \"_\"。
  • \"@\" 是不允许的。

我得到了这个,但没有骰子。 [^a-zA-Z0-9]

谢谢

  • [a-zA-Z0-9_-]。你的正则表达式是向后的,它匹配的字符是不是在您描述的集合中,由于^,与您要允许的字符不匹配。
  • 嘿@Barmar 谢谢!但这仍然不能解决问题 :( 根本不应该允许 \"@\" 并且 \"-\", \"_\" 应该是可选的。
  • 这只是单个字符的模式。您对其进行量化并锚定它,以确保只有这些字符在整个字符串中匹配。

标签: javascript regex


【解决方案1】:
^[\w-]+$

将按照您描述的规则匹配一个字符串。 \w 匹配字母、数字或下划线,然后将 - 添加到该集合中。使用^$ 进行锚定需要字符串中的所有字符都匹配此模式。

【讨论】:

    【解决方案2】:

    删除方括号中的 ^ 字符,因为是负范围,添加一些 \-\_ 以允许方括号内的 '-' 和 '_' 字符

    [a-zA-Z0-9\-\_]+
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 2021-01-17
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-28
      • 1970-01-01
      相关资源
      最近更新 更多