javascript - 如何使用正则表达式匹配javascript中的所有重复子字符串?
问题描述
如何使用正则表达式匹配javascript中的所有重复子字符串?
例如:[ "cd","cd","cdcd","cdcdcd", "cdcdcdcd" ]
通过“abccdddcdcdcdcd123”获取
+
不管用:
"abccdddcdcdcdcd123".match(/(cd)+/g)
Array [ "cd", "cdcdcdcd" ]
解决方案
我认为像这样的重叠匹配问题的常见解决方案应该如下:
/(?=((cd)+))cd
在前瞻中一次或多次匹配组中的内部模式,同时向前移动两个字符。(我们也可以移动两个点..
)。
代码示例:
var re = /(?=((cd)+))cd/g;
var str = "abccdddcdcdcdcd123";
var m; //var arr = new Array();
while (m = re.exec(str)) {
//arr.push(m[1]);
console.log(m[1]);
}
我们通过 得到第 1 组的结果m[1]
。
用于.push(m[1]);
将其添加到数组中。
推荐阅读
- javascript - 将 const 函数代码从 JSX 转换为 TSX
- django - django-select2 小部件的查询集被忽略
- javascript - 引导验证器的成功功能不起作用?
- powerbi - 在列表列中查找的 DAX 不同字符串
- python-3.x - QPython Android PySpeedTest
- sql - Get percentage of records with certain category
- javascript - Rank grades as object values from highest to lowest
- mysql - Laravel (5.6) 电子商务的雄辩关系
- java - 根据键值对比较两个 TreeMap
- javascript - Sort a JSON array on time, displayed in a 12 hour format