Javascript 正则表达式字符串开始/结束/中间一次性匹配

Javascript 正则表达式字符串开始/结束/中间一次性匹配,javascript,regex,Javascript,Regex,我试图用正则表达式验证输入字段。 任务是:input字段可以(可选)在字符串的开头、中间或结尾仅包含一个特殊字符*。 这是我的正则表达式: ^(?!.?\*.*\()[\w*]+$ 问题是:字符串对多个*仍然有效,并且无法找出我做错了什么。您可以使用 ^(?!(?:[^*]*\*){2})[\w*]+$ 见 详细信息 ^-字符串的开头 (?!(?:[^*]*\*){2}-字符串中不允许有两个不一定连续的星号 [\w*]+-一个或多个字母、数字、或*字符 $-字符串结尾 看起来像我要找的。非

我试图用正则表达式验证
输入
字段。 任务是:
input
字段可以(可选)在字符串的开头、中间或结尾仅包含一个特殊字符
*
。 这是我的正则表达式:

^(?!.?\*.*\()[\w*]+$
问题是:字符串对多个
*
仍然有效,并且无法找出我做错了什么。

您可以使用

^(?!(?:[^*]*\*){2})[\w*]+$

详细信息

  • ^
    -字符串的开头
  • (?!(?:[^*]*\*){2}
    -字符串中不允许有两个不一定连续的星号
  • [\w*]+
    -一个或多个字母、数字、
    *
    字符
  • $
    -字符串结尾

看起来像我要找的。非常感谢。