我有一个像这个PRICE使用PHP的正则表达式:
^/someurl/*
有很多网址喜欢
/someurl/test
/someurl/something/{version}/{name}/{etc}
我需要排除这样的网址:^/someurl/test/{version}/commands/*
{version} is a float number like 2.1.1 2.4
我试过这个^((?!/someurl/test/[0-9].+/commands/*))
它的工作原理但是我需要将它添加到单行中,如^/someurl/*
排除^((?!/someurl/test/[0-9].+/commands/*))
如何加入他们?谢谢。
你可以用
^/someurl/(?!test/[0-9.]+/commands/).*
或者更精确一点
^/someurl/(?!test/[0-9]+(?:\.[0-9]+)+/commands/).*
细节
^/someurl/
- 字符串开头的/someurl/
(?!test/[0-9.]+/commands/)
- 紧靠当前位置的右边,不能有test/
,然后是1+位或点,然后/commands/
子串(如果使用[0-9]+(?:\.[0-9]+)+
它将匹配1位或更多位数,然后重复1位或更多点跟着1+位数).*
- 尽可能多的0个字符。