根据this,以下是JavaScript ES6 RegExp:
?
与optional
字符匹配
.
匹配除行终止符之外的任何单个字符
\w
匹配任何字母数字字符
*
与前面的项目匹配0次或更多次
我正在尝试this来测试以下表达式:
"show .* report of (?<day>\w+)"
以上与以下各项匹配:show me the report of Monday
但失败,并且与show report of Monday
我假设.*
的含义是零/空或更多字符,但看起来它没有字符就不能工作!我也尝试使用?
,但失败了。
任何解释和帮助。
答案 0 :(得分:3)
show .* report
匹配显示,一个空格,零个或多个字符以及另一个空格。 show report of Monday
在两个单词之间有一个空格。更好的解决方案是此正则表达式:
/show (?:.+ )?report of (?<day>\w+)/
或者这个,除了它也匹配“显示星期一的错误报告”:
/show .*report of (?<day>\w+)/
正则表达式为explained in this demo。