【发布时间】:2022-01-18 09:14:57
【问题描述】:
我试图匹配字符串上的多个正则表达式模式以查找开始和结束索引。
let str = "I am abinas patra and my email is abinas@gmail.com"
let patterns = [
"[a-z]",
"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"
];
let regexObj = new RegExp(patterns.join("|"), "gmi");
let match, indicesArr=[];
while ((match = regexObj.exec(str))) {
let obj = { start: match.index, end: regexObj.lastIndex }
indicesArr.push(obj);
if(!match.index || !regexObj.lastIndex) break;
}
我在indicesArr 中只得到 1 个对象
[
{
"start":0,
"end": 1
}
]
我希望所有a-z 字符都应该匹配,email 也应该匹配。我尝试了多种方法,找不到它。
这里patterns数组中,pattern可以是任意正则表达式,我只举了两个例子。
【问题讨论】:
标签: javascript regex string-matching