我如何使用正则表达式来匹配没有双字符的字符串
How can I use regex to match a string without double characters
我有一个文本块,我想在javascript上运行一些正则表达式,以匹配[code]
。我知道我可以用/'[code']/g
来做这件事。
但是,我想忽略使用双括号的情况,如[[code]]
。所以换句话说,在字符串[code] [[code]] [code]
中,只有第一个和最后一个出现应该匹配。
这可能吗?
http://regexr.com/395krJS不支持负向后看断言,但在您的情况下,似乎负向后看已经足够了:
'[code] [[code]] [code]'.match(/'[code'](?!'])/g)
这个正则表达式确保[code]
之后的下一个字符不是]
乌利希期刊指南:
可以改进为
'[code] [[code]] [code]'.match(/'[(?!'[)code'](?!'])/g)
感谢Felix Kling。
注意:对于未配对的大括号,它的行为会很奇怪。
您可以使用filter()
:
var data = "[code] [[code]] [code]";
data = data.match(/'[+code']+/g) // gives us ["[code]", "[[code]]", "[code]"]
.filter(function(x) { return !x.match(/'['[code']']/); });
// data is now ["[code]", "[code]"]
Felix的方法也很有效。
相关文章:
- 如何将字符串拆分为字符,但在javascript中保留空格
- 如何显示字符串中最多 200 个字符
- 我想在Javascript中探索类似C语言的字符串的整个字符
- 如何用jquery替换字符串中可能变化的字符
- 通过跳过拆分字符在 javascript 中拆分字符串
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 字符串替换-不支持格式字符'}'
- 到UpperCase字符串Javascript中的特定字符索引
- 用类javascript包装span标记中字符串中的字符索引
- 将字符串分组为n个字符的块,并应用替换
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- Regex-从字符第N次出现到字符串末尾的匹配
- Visual Studio 2010跳转到下一个任意字符/字符串
- 估计存储在 localStorage (Javascript) 中的 10,000 个字符字符串的大小
- 字符字符串中最后一个单词的第一个字母
- 匹配任何字符字符串的正则表达式,最多为“/”Javascript
- 将特殊字符字符串到 JSON 字符串化非法令牌中
- 在javascript中计算精确的字符字符串高度