[英]Regular expression in JavaScript to match wildcard
我正在尝试使用JavaScript中的正则表达式来验证用户输入。 有效输入是至少两个带有*
符号的字符。 换句话说,有效格式为
< '*' or nothing><at least two characters>< '*' or nothing>
所以有效输入是
Mu*
*pa
*pa*
无效的输入是
*e*
*e*t
*e*t*
pa**
我正在尝试遵循表情,但无法正常工作。
^{\*}?[A-Za-z]{\*}?$
定义不清楚,但是让我们假设一个有效的字符串必须具有一个初始或最终*
字符(即,一个根本没有*
的字符串是无效的)。 是否需要最后一个*
取决于是否存在一个初始*
。 我怀疑(尽管我尚未证明)这意味着您的有效字符串集无法用常规语言描述。
相反,你的语言可以描述为两个普通汉语语言的结合:一是其字符串结束(和可选的开头)用一*
,并用一个字符串,其开始(以及可选的结束) *
:
/^\*?\w{2,}\*$|^\*\w{2,}\*?$/
在这里,我们接受
*
(和可选的前导*
)或 *
(和可选的final *
)。 调整: ^\\*?\\w{2,}\\*?$
应该可以解决问题。
糟糕:刚刚注意到@NiettheDarkAbsol注释中的“提示”-基本上提供了相同的解决方案。
但是,由于有效序列的所有示例都至少带有一个星号,因此我们可能都错了。 不过,在“正式”说明中没有明确指出…
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.