是否有办法允许某些字符范围,但还排除了这些允许字符的某些模式?
例如,让我们说你正在搜索一系列字母:
[A-Za-z]
但您不想要匹配这些接受字符的特定模式,例如:
abc
我一直试图制作一段表达并且没有运气。我能想到的是:
([A-Za-z][^abc])*
但这并没有提供我正在寻找的行为。有没有办法搜索一系列字符并排除接受字符的某些图案?
修改
为了澄清,我想知道我是否能够仍然匹配除了不接受的模式之外的角色。例如,如果我们有:
SomeTextabcMoreText
和abc
是一种非法模式,有没有办法匹配合法字符并产生类似于以下内容的结果:
SomeText
MoreText
答案 0 :(得分:1)
我不认为正则表达式是解决此问题的正确方法。
根据语言的不同,有两种选择:
String.replace
- 如果您只想输出结果。String.split
如果您希望将结果标记化。
$('#replace').text("SomeabcStringabcwithsomeabccharacters".replace(/abc/g, ""));
$('#split').text(JSON.stringify("SomeabcStringabcwithsomeabccharacters".split("abc")));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='replace'></div>
<div id='split'></div>
&#13;
答案 1 :(得分:0)
退后一步,更多地分析我的特定问题后,我意识到Regex不是解决这个问题的最佳方法。
使用非法模式作为分隔符来解析字符串会更有意义:
var data = 'SomeTextabcMoreText';
var illegalPattern = 'abc';
console.log(data.split(illegalPattern)); // => ["SomeText", "MoreText"]