我有这个JS正则表达式:
var re = /(\w\w\d-{1})?\w\w-{1}\w-{1}?/;
对于文件名,第一组必须是可选的:
完整名称示例。例:
qq8-qq-q-anything => OK
没有第一组:
qq-q-anything => OK
但是,如果我放任何东西,仍然可以工作:
任何-qq-q-任何=>确定
我希望第一组为最佳,但是如果文件名具有第一组,则它必须与我的正则表达式单词wor digit匹配。
最佳答案
您应该指定字符串应以正则表达式“开头”,因此仅添加^
即可指定起点。
const re = /^(\w\w\d-{1})?\w\w-{1}\w-{1}?/;
const strs = ['qq8-qq-q-anything', 'qq-q-anything', 'anything-qq-q-anything'];
const result = strs.map(str => re.test(str));
console.log(result);
关于javascript - 如何创建一个 optional 组,但是如果该组与我的正则表达式最匹配?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50163672/