我无法找到合适的正则表达式来匹配任何不以某种条件结尾的字符串。例如,我不想匹配以结尾的任何内容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 关注
- 2113 浏览
添加回答
举报
0/150
提交
取消