正则表达式过滤url中?后的内容

url如下http://127.0.0.1:8000/auth_page?ab23cd/dsdcsl&s/sd我想取出第一个?后的字符ab23cd/dsdcsl&s/sd... url如下

http://127.0.0.1:8000/auth_page?ab23cd/dsdcsl&s/sd
我想取出第一个?后的字符ab23cd/dsdcsl&s/sd 塞到ALLURL里面,它们可能包括/以及&、?等一些非空格特殊字符,应该怎么写正则表达式,
为什么写成r'auth_page?(?P<ALLURL>\S+)/$'

r'auth_page[^\w\s]+(?P<ALLURL>\S+)/$'

或者 r'auth_page/?(?P<ALLURL>\S+)/$'
都不可以
展开
 我来答
cnbubble
2015-07-16 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:770万
展开全部
在RegexBuddy下测试,
auth_page[^\w\s]+(?P<ALLURL>\S+)
可以在 JGsoft、PCRE和Python下可以匹配到内容,其他的 Perl、Java等正则中没有匹配到。

你在什么的正则下面使用的?
更多追问追答
追问
在python的django下匹配url时使用的
追答
?需要转义,用\?,行尾符号$就是要匹配行尾,所以不用转义。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式