我在编写包含以下内容的全包正则表达式时遇到了问题。
我有一个格式为
的网址www.someurl.com/dir1/dir2/dir3/page?bunchofrandomvariables
我还有一个稍微修改过的网址
www.someurl.com/dir1/newdirectory/dir2/dir3/page?bunchofrandomvariables
其中newdirectory可以是字母数字,可以包含破折号。
我想要一个可以匹配原始网址(没有“新目录”)和任何“新目录”的常规表达。
我的第一次尝试类似于
^www.someurl.com/dir1/[a-zA-Z]+/dir2/dir3/page?.*
不幸的是,这打破了第一个例子,因为[a-zA-Z] +捕获了“dir2”。无论如何要用前瞻来写这个以在一行中捕获两个例子吗?
答案 0 :(得分:1)
我刚刚修改了你的正则表达式:
使用/newdirectory
?
部分可选
^www.someurl.com\/dir1(\/[a-zA-Z]+)?\/dir2\/dir3\/page?.*