有没有办法允许使用一定范围的字符,同时排除这些允许字符的某些模式?
例如,假设您正在搜索一系列字母:
[A-Za-z]
但您不想匹配这些接受字符的特定模式,例如:
abc
我已经尝试创建一个表达式有一段时间了,但没有成功。我能想到的是:
([A-Za-z][^abc])*
但这并没有提供我正在寻找的行为。有没有办法搜索一定范围的字符并排除所接受字符的某些模式?
编辑
为了澄清,我想知道除了不接受的模式之外我是否还能匹配字符。例如,如果我们有:
SomeTextabcMoreText
和 abc
是非法模式,有没有办法匹配合法字符并产生类似于以下内容的结果:
SomeText
MoreText
最佳答案
我认为正则表达式不是解决这个问题的正确方法。
根据语言有两个选项:
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>
关于JavaScript:允许使用正则表达式的字符,但排除这些字符的某些模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905263/