javascript怎么比较两个文本,并从中找出全部相同字符串,相同字符串长度最少是2,并且优先长度多的相同字符串,写出代码
时间: 2023-05-26 17:02:50 浏览: 174
可以使用正则表达式匹配字符串,然后遍历两个字符串中匹配到的所有相同字符串,从中筛选出长度大于等于2的字符串,并按照长度从大到小排序。具体代码如下:
```javascript
function compareStrings(str1, str2) {
// 匹配所有相同的字符串
const regex = new RegExp(`(?=(.{2,}))(${str2})`, "g");
const matches = str1.match(regex) || [];
// 筛选出长度大于等于2的字符串
const filteredMatches = matches.filter(match => match.length >= 2);
// 按照长度从大到小排序
const sortedMatches = filteredMatches.sort((a, b) => b.length - a.length);
return sortedMatches;
}
// 示例
const str1 = "abcdefgababa";
const str2 = "abcaba";
const result = compareStrings(str1, str2);
console.log(result); // 输出 ["ababa", "aba", "aba"]
```
阅读全文