我有这个 JS 正则表达式:
var re = /(\w\w\d-{1})?\w\w-{1}\w-{1}?/;
对于文件名,第一组必须是可选的:
完整名称示例。示例:
qq8-qq-q-anything => OK
没有第一组:
qq-q-anything => OK
但是如果我放任何东西,仍然有效:
anything-qq-q-anything => 好的
我希望第一组是可选的,但如果文件名有第一组,它必须与我的正则表达式单词或数字匹配。
最佳答案
您应该指定字符串应以您的正则表达式“开头”,因此只需添加 ^
来指定起点。
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 - 如何创建一个可选组,但该组是否存在与我的正则表达式最匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50163672/