JavaScript中匹配通配符的正则表达式

JavaScript中匹配通配符的正则表达式,javascript,regex,Javascript,Regex,我试图使用JavaScript中的正则表达式验证用户输入。有效输入至少为两个带有*符号的字符。换句话说,有效的格式是 < '*' or nothing><at least two characters>< '*' or nothing> 和无效的输入 Mu* *pa *pa* *e* *e*t *e*t* pa** 我正在尝试下面的表达,但不起作用 ^{\*}?[A-Za-z]{\*}?$ 调整后:^\*?\w{2,}\*?$应该可以解决这个问题。 o

我试图使用JavaScript中的正则表达式验证用户输入。有效输入至少为两个带有
*
符号的字符。换句话说,有效的格式是

< '*' or nothing><at least two characters>< '*' or nothing>
和无效的输入

Mu*
*pa
*pa*
*e*
*e*t
*e*t*
pa**
我正在尝试下面的表达,但不起作用

^{\*}?[A-Za-z]{\*}?$

调整后:
^\*?\w{2,}\*?$
应该可以解决这个问题。
oops:刚刚注意到@NiettheDarkAbsol评论中的“提示”——它给出了基本相同的解决方案。

然而,我们可能都错了,因为所有有效序列的示例都至少有一个星号。这在“正式”描述中是不明确的,但是…

调整:
^\*?\w{2,}\*?$
应该可以做到这一点。
oops:刚刚注意到@NiettheDarkAbsol评论中的“提示”——它给出了基本相同的解决方案。

然而,我们可能都错了,因为所有有效序列的示例都至少有一个星号。这在“正式”描述中是不明确的,尽管…

定义不清楚,但让我们假设一个有效的字符串必须有一个初始或最终的
*
字符(即,一个完全没有
*
的字符串是无效的)。是否需要最终的
*
,取决于是否有初始的
*
。我怀疑(尽管我还没有证明)这意味着您的有效字符串集不能用常规语言描述

相反,您的语言可以描述为两个常规语言的结合:一个字符串以
*
结尾(可选开始),另一个字符串以
*
开头(可选结束):

/^\*?\w{2,}\*$|^\*\w{2,}\*?$/
在这里,我们接受

  • 至少两个字母字符串,带有所需的最后一个
    *
    (以及可选的前导
    *
    )或
  • 至少两个字母字符串,带所需的前导
    *
    (以及可选的结尾
    *

定义不清楚,但让我们假设一个有效字符串必须有一个初始或最终的
*
字符(即,一个完全没有
*
的字符串是无效的)。是否需要最终的
*
,取决于是否有初始的
*
。我怀疑(尽管我还没有证明)这意味着您的有效字符串集不能用常规语言描述

相反,您的语言可以描述为两个常规语言的结合:一个字符串以
*
结尾(可选开始),另一个字符串以
*
开头(可选结束):

/^\*?\w{2,}\*$|^\*\w{2,}\*?$/
在这里,我们接受

  • 至少两个字母字符串,带有所需的最后一个
    *
    (以及可选的前导
    *
    )或
  • 至少两个字母字符串,带所需的前导
    *
    (以及可选的结尾
    *
    • 这不是简单的问题吗

      /^\*?[a-zA-Z]{2,}\*?$/

      这不是简单的问题吗

      /^\*?[a-zA-Z]{2,}\*?$/


      …-提示:您愿意接受哪些字符作为“至少两个字符”的有效字符?字母、数字、任何不同于
      *
      ?@Niet the Dark Absol-^*?[A-Za-z]{2,}*?$的特殊字符与任何inputs@Abecee-两个字符可以是A-Z或A-zIs
      Mu
      有效字符串?您是否至少需要一个
      *
      ?您的
      <'*'或nothing>
      说明表明这两个
      *
      都是可选的,您可能没有….-提示:您愿意接受哪些字符作为“至少两个字符”的有效字符?字母、数字、任何不同于
      *
      ?@Niet the Dark Absol-^*?[A-Za-z]{2,}*?$的特殊字符与任何inputs@Abecee-两个字符可以是A-Z或A-zIs
      Mu
      有效字符串?您是否至少需要一个
      *
      ?您的
      <'*'或nothing>
      说明表明这两个
      *
      都是可选的,您可能两者都没有。(星)pa(星)(星)无效输入。
      Mu*
      有效-但
      pa*
      无效?pa**无效输入。通过添加锚来解决这个问题。(星)pa(星)(星)无效输入。
      Mu*
      有效-但
      pa*
      无效?pa**无效输入。通过添加锚来解决此问题。