0

下午好,

想知道是否可以搜索一个单词但在正则表达式中忽略与其他单词相同的单词。

例:一:二:三:四:五:六:二 三:九

答:一:二::四:五:六:二 三:九

所以正则表达式只找到了第一个单词三而忽略了二三。

我试过这个正则表达式:

(?!Two Three)(Three)

但它不起作用,如果单词是两个它确实起作用

任何帮助或建议我都会很高兴。谢谢

4

2 回答 2

1

随着输入One : Two : Three : Four : Five : Six : Two Three : Nine

你想忽略Two Three你可以做

let str = 'One : Two : Three : Four : Five : Six : Two Three : Nine';
let re = /Two(?!\sThree)/g;
console.log(str.match(re));
于 2019-03-22T16:28:21.613 回答
1

如果您正在寻找更通用的东西,我建议使用纯 js 方法:

let str = 'One : Two : Three : Four : Five : Six : Two Three : Nine';

let resp = str
  .split(' : ')
  .reduce((acc, ele) => acc.some(x => ele.search(x) > 0) ? acc : acc.concat(ele), [])
  .join(' : ');
  
console.log(resp);

于 2019-03-22T16:34:32.913 回答