我想知道如何使用js regex完成此操作。我有以下字符串。
"{{abc-xyz}} #ffffff mnop"
"{{abc-xyz}} #5dffff #5dffff mnop"
我需要javascript regex将字符串#1确定为有效且#2)为无效。 #2有重复的单词#5dffff。
我试过{{[a-zA-Z0-9\s&#_-]+}}\B(\#[a-z]+)\s+[\w\s]+
。
答案 0 :(得分:1)
答案 1 :(得分:0)
我想我明白你想要实现的目标。
试试这个:"{{[A-Za-z-]*}}\s(#[a-zA-Z0-9]+)\s*\1\s*[a-z]*"
此表达式将匹配您的字符串#2。如果匹配你可以决定你的字符串是无效的,我希望这有助于让你走上正确的道路并进一步研究RegEx。
答案 2 :(得分:0)
需要javascript regex将字符串#1确定为有效且#2)为 无效。 #2有重复的单词#5dffff。
尝试使用String.prototype.split()
与RegExp
/\s+/
删除空格字符,Array.prototype.every()
,.indexOf()
,.lastIndexOf()
var str1 = "{{abc-xyz}} #ffffff mnop";
var str2 = "{{abc-xyz}} #5dffff #5dffff mnop";
var norepeat = function norepeat(str) {
return str.split(/\s+/).every(function(a) {
return str.lastIndexOf(a) === str.indexOf(a)
})
}
var res1 = norepeat(str1);
var res2 = norepeat(str2);
console.log(res1, res2)