我想要一个字符串的正则表达式
该字符串可以包含 *
和 ?
。但至少应包含 3 个字母数字字符。
所以,
*abc* is valid
*ab*c is valid
*aaa? is valid
*aa is not valid
**aaa is not valid as it is not a valid regular expression
最佳答案
应该这样做:
^[*?]?([0-9a-z][*?]?){3,}$
解释:
^
匹配字符串的开头[*?]?
匹配可选的*
或?
(...){3,}
该组必须至少出现 3 次[0-9a-z][*?]?
匹配字母数字字符后跟可选的*
或?
$
匹配字符串结尾
连续的 *
和 ?
不匹配。
更新: 忘记提了,但我想到了:使用 i
修饰符使匹配不区分大小写 (/.../我
).
关于javascript - 搜索字符串中包含通配符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6776756/