我正在尝试使用这个表达式:
var reg = "/(jan|feb|mar)[A-z]*\[0-9]/"
至少捕获月份的前三个字母(或更多字母)加上一个数字。但这不起作用。当我删除括号时,它可以工作但是[A-z] * [0-9]位仅适用于行进。请帮助,谢谢。
答案 0 :(得分:1)
您的正则表达式不正确,正则表达式也不应该是字符串。
使用正则表达式var reg = /(jan|feb|mar)[a-z]*[0-9]/i;
console.log('January1'.match(reg));
正则表达式解释:https://regex101.com/r/9Qv2dy/2
段:
false
答案 1 :(得分:0)
您的代码包含几个问题。
/.../
正则表达式字面值不应放在引号内。[A-z]
matches more than just letters,您需要[A-Za-z]
\[
模式与文字[
字符匹配。要匹配数字,您需要[0-9]
或\d
。匹配一个或多个数字:[0-9]+
或\d+
。使用
var reg = /(?:jan|feb|mar)[a-z]*[0-9]/i;
参见JS demo:
var reg = /(?:jan|feb|mar)[a-z]*[0-9]/i;
console.log("Date: January1".match(reg));