我需要一個JS正則表達式,它將查找未包含任何相等單詞字符的單詞字符的匹配項。例如,如果我們正在尋找b應該匹配ABA或UBU和不應該ABC或BCA。正則表達式:找出符號是否包含相同的符號
給定字符串中的所有字符爲小寫英文字母,這是交替(例如我們可以有巴但不能BBAA)。
我嘗試使用lookarounds這樣的:
/b(?=a)/g
但我沒弄清楚我怎麼更換一個讓大家知道,這是同一個符號,在左邊和b
的右側。任何見解都值得讚賞。
我需要一個JS正則表達式,它將查找未包含任何相等單詞字符的單詞字符的匹配項。例如,如果我們正在尋找b應該匹配ABA或UBU和不應該ABC或BCA。正則表達式:找出符號是否包含相同的符號
給定字符串中的所有字符爲小寫英文字母,這是交替(例如我們可以有巴但不能BBAA)。
我嘗試使用lookarounds這樣的:
/b(?=a)/g
但我沒弄清楚我怎麼更換一個讓大家知道,這是同一個符號,在左邊和b
的右側。任何見解都值得讚賞。
使用正則表達式如下:
(.)(b)(?=\1)
你能匹配這些類型的字符。如果你需要操縱包圍b
當時的你可以這樣的代碼是:
> "aabb aba".replace(/(.)(b)(?=\1)/g, function(match, p1, p2) {
return p1 + 'c';
});
< "aabb aca"
你可能會做如下;
var found = "abaubuiyiatbzsgegestsabn".match(/(\w)[^\1]\1/g);
console.log(found);
然後,如果你想獲得的所有隔行掃描模式,例如在"abaubuiyiatbzsgegestsabn"
你不應該只得到"geg"
也"ege"
var str = "abaubuiyiatbzsgegestsabn".split(/(\w)(?=[^\1]\1)/g)
.slice(1)
.reduce((p,c,i,a) => i&1 ? (p[p.length-1] += (a.slice(i)
.join("")
.slice(0,2)),p) : p.concat([[c]]) ,[]);
console.log(str);
你是矛盾自己,你呢想匹配'aba'還是'abc'?你是指文學'b'還是任何角色? – MarZab
* ababa *在那裏你有2個aba + 1x bab wich比賽嗎?因爲它們相交,但RegEx不匹配。你需要更精確地根據你的規格來選擇你想要的。你想要建立什麼? *編輯:*那麼* bbb *?在這裏你也有一個人物被兩個相似的人物包圍,只有他們是同一個人物;中間和周圍。 – Thomas
@MarZab對不起,如果我不清楚,但我沒有看到上述任何矛盾。它應該匹配文學b。它應該與aba匹配(因爲左側有一個「a」,「b」右側有「a」),但不應該匹配「abc」,因爲左側有一個「a」, right –