我無法找到合適的正則表達(dá)式來匹配任何不以某種條件結(jié)尾的字符串。例如,我不想匹配以結(jié)尾的任何內(nèi)容a。這個匹配bab1這不匹配aba我知道正則表達(dá)式應(yīng)該$以標(biāo)記結(jié)束而結(jié)束,盡管我不知道該怎么做。編輯:原始問題似乎不是我的案例的合法例子。那么:如何處理多個字符?說什么不以ab?結(jié)尾嗎?我已經(jīng)可以使用以下線程解決此問題:.*(?:(?!ab).).$盡管這樣做的缺點是,它與一個字符的字符串不匹配。
3 回答

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊
您沒有給我們提供語言,但是如果您的正則表達(dá)式風(fēng)味支持不在assert 后面,那么您需要:
.*(?<!a)$
(?<!a)是斷言式的后置斷言,可確保在字符串(或帶m修飾符的行)結(jié)束之前沒有字符“ a”。
看到這里Regexr
您還可以輕松地用其他字符擴展它,因為這會檢查字符串并且不是字符類。
.*(?<!ab)$
這將匹配不以“ ab”結(jié)尾的任何內(nèi)容,請在Regexr上查看

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗 獲得超4個贊
使用not(^)符號:
.*[^a]$
如果將^符號放在方括號的開頭,則表示“除方括號外的所有內(nèi)容”。$僅僅是末日的錨。
對于多個字符,只需將它們?nèi)糠旁谧约旱淖址校?/p>
.*[^a][^b]$
- 3 回答
- 0 關(guān)注
- 2275 瀏覽
添加回答
舉報
0/150
提交
取消