Regex 用于分离HTML GET参数的正则表达式
如何使用正则表达式分离URI中的Regex 用于分离HTML GET参数的正则表达式,regex,string,pcre,string-matching,Regex,String,Pcre,String Matching,如何使用正则表达式分离URI中的GET参数并提取某个参数?具体地说,我正试图获取YouTube watch URI的v=部分。我想出了youtube.com\/watch\?(\w+=[\w-]+&?*(v=[\w-]+)&*(\w+=[\w-]+&?*),但这看起来非常重复。有没有更好(更短?)的方法可以做到这一点?一个简化的正则表达式: ^(?)http://www.)youtube.[^/]+?/观看(.?)(v=([^&]+)()$ 我知道有很多类似的问题,但没有一个完全符合我的要求。我
GET
参数并提取某个参数?具体地说,我正试图获取YouTube watch URI的v=
部分。我想出了youtube.com\/watch\?(\w+=[\w-]+&?*(v=[\w-]+)&*(\w+=[\w-]+&?*
),但这看起来非常重复。有没有更好(更短?)的方法可以做到这一点?一个简化的正则表达式:
^(?)http://www.)youtube.[^/]+?/观看(.?)(v=([^&]+)()$
我知道有很多类似的问题,但没有一个完全符合我的要求。我正在寻找一种能够只提取视频ID的东西,不管它是参数列表中的第一个、最后一个还是隐藏在其他ID之间。我所看到的一切都没有像那样奏效 作为参考,我将用于测试,这组测试URI:
http://www.youtube.com/watch?v=XXXXXXXXXXX
http://www.youtube.com/watch?v=XXXXXXXXXXX&feature=results_video&playnext=1&list=XXXXXXXXXXXXXXXXXX
http://www.youtube.com/watch?feature=player_embedded&v=XXXXXXXXXXX#!
http://www.youtube.com/watch?annotation_id=annotation_xxxxxx&feature=iv&src_vid=XXXXXXXXXXX&v=XXXXXXXXXX
各位堆栈交换者,我建议使用以下正则表达式来解决这个问题:
youtube.com\/watch\?(\S*)v=([\w-]+)
“页面参数”-我不确定这些参数的名称。我认为它们被称为POST参数,或者可以合理地称为它。@Martinshaiters修复。非常感谢。实际上,url中的参数是GET
参数。如果您提交表单,则生成的请求很可能包含您输入的POST
参数。顺便说一下,正式名称为。你不必再编辑了-我相信每个人都能理解它:)