正则表达式 – 正则表达式:仅在不以特定顺序结束时进行匹配

我想测试一个不以.html结尾的网址

这是我想出的模式:

[/\w\.-]+[^\.html$]

以下匹配,因为它不会以.html结尾

/blog/category/subcategory/

这不符合,因为它以.html结尾:

/blog/category/subcategory/index.html

但是,以下不匹配,尽管我希望它匹配,因为它以.ht而不是.html结尾

/blog/category/subcategory/index.ht

我该怎么改变我的模式?

如果您的正则表达式引擎支持它,则可以使用负的lookbehind断言:
^[/\w\.-]+(?<!\.html)$

如果你没有看起来的断言,但你有头脑,那么你可以改用它:

^(?!.*\.html$)[/\w\.-]+$

看到它在线工作:rubular

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...