javascript - 搜索字符串中包含通配符的正则表达式

标签 javascript regex

我想要一个字符串的正则表达式 该字符串可以包含 *?。但至少应包含 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/

相关文章:

javascript - 如何保存与其字段标签关联的输入?

JavaScript OOP 和 MVC

javascript - 替换字符串中的变量替换错误的字符

javascript - JavaScript 中美元金额的正则表达式

java.util.regex.PatternSyntaxException : at\b within regexp

python - 如何在匹配正则表达式时捕获数字?

regex - 在 bash 中批量文件重命名,删除带空格的名称,留下尾随数字

javascript - Event_calendar gem 没有方法 'observe'

javascript - 蒙戈错误: key $get must not start with '$'

javascript - 用于在聊天中标记玩家的正则表达式