给定一个URL路径,我试图创建一个正则表达式来匹配,如果路径指向一个目录,并且不匹配,如果它指向文件扩展名.php,.js,.html ,热媒等PHP正则表达式匹配文件或目录
比赛:
/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))$
你的意思是*期间*? – j0k
一段时间是'句号'或'。' – refugene
你还没有指定你正在使用的是什么,但PHP在这方面有很多内置函数 - php的'file_exists()','is_dir()','pathinfo()','basename() '和其他函数可能比复杂的正则表达式更合适。 – SDC