给定一个 URL 路径,我试图创建一个正则表达式来匹配路径是否指向目录,如果它指向文件扩展名 .php、.js、.html、.htm 等,则不匹配。
匹配:
/www/site/path/ny/
匹配:
/www/news/state.208/ii
不符合:
/www/news/index.php
不符合:
/www/site/fr/post.py
这是我一直在使用的正则表达式:
^([a-zA-Z0-9/_\-]*[^/])$
这个正则表达式做我想要的,但它不够精确。它假定它是一个文件的路径,并在遇到“。”时停止匹配,但我需要考虑目录名称包含“。”的可能性,就像上面的例子一样。
我也尝试过使用消极的目光,但没有运气:
^(.(?!\.php)|(?!\.htm?l)|(?!\.js))$