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

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

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
使用not(^)符號:
.*[^a]$
如果將^符號放在方括號的開頭,則表示“除方括號外的所有內容”。$僅僅是末日的錨。
對于多個字符,只需將它們全部放在自己的字符集中:
.*[^a][^b]$
- 3 回答
- 0 關注
- 2252 瀏覽
添加回答
舉報
0/150
提交
取消