一只斗牛犬
2019-06-04 16:54:14
JavaScript:負(fù)查找等價(jià)?是否有一種方法可以實(shí)現(xiàn)與負(fù)后視在javascript正則表達(dá)式中?我需要匹配一個(gè)不以特定字符集開頭的字符串。如果匹配的部分在字符串的開頭找到,我似乎無法找到這樣做的正則表達(dá)式。消極的查找似乎是唯一的答案,但javascript沒有答案。編輯:這是我想要做的正則表達(dá)式,但它沒有:(?<!([abcdefg]))m因此,它將匹配“Jim”或“m”中的“m”,而不是“jam”中的“m”。
3 回答

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
反轉(zhuǎn)輸入字符串 與反向正則表達(dá)式匹配 反轉(zhuǎn)和重新格式化匹配
const reverse = s => s.split('').reverse().join('');const test = (stringToTests, reversedRegexp) => stringToTests .map(reverse) .forEach((s,i) => { const match = reversedRegexp.test(s); console.log(stringToTests[i], match, 'token:', match ? reverse(reversedRegexp.exec(s)[0]) : '?'); });
例1:
test(['jim', 'm', 'jam'], /m(?!([abcdefg]))/)
jim true token: m m true token: m jam false token: ?
例2:
max-height
line-height
height
):
test(['max-height', 'line-height'], /thgieh(?!(-enil))/)
max-height true token: height line-height false token: ?

繁華開滿天機(jī)
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
int
unsigned
:
(?<!unsigned )int
((?!unsigned ).{9}|^.{0,8})int
(?<!([abcdefg]))m
((?!([abcdefg])).|^)m
添加回答
舉報(bào)
0/150
提交
取消