Php url参数的正则表达式负前瞻
我正在使用此正则表达式匹配YouTube播放列表URL并提取播放列表ID: 但是,如果其中一个参数为“v=”指定播放列表中的单个视频,我不希望正则表达式匹配 在我上面的例子中,前2个URL应该匹配,后3个不应该匹配Php url参数的正则表达式负前瞻,php,regex,regex-negation,regex-lookarounds,Php,Regex,Regex Negation,Regex Lookarounds,我正在使用此正则表达式匹配YouTube播放列表URL并提取播放列表ID: 但是,如果其中一个参数为“v=”指定播放列表中的单个视频,我不希望正则表达式匹配 在我上面的例子中,前2个URL应该匹配,后3个不应该匹配 我试图使用负前瞻(?!v=),但它不起作用。我遗漏了什么?您只是在测试是否立即出现v=。允许某些其他字符选择性地在其前面加上*: (?!.*v=) 见更新于 检查v=前面的字符可能更安全: (?!.*[?&]v=) 请参见更新日期您仅测试是否立即出现v=。允许某些其他字
我试图使用负前瞻(?!v=),但它不起作用。我遗漏了什么?您只是在测试是否立即出现
v=
。允许某些其他字符选择性地在其前面加上*
:
(?!.*v=)
见更新于
检查v=
前面的字符可能更安全:
(?!.*[?&]v=)
请参见更新日期您仅测试是否立即出现
v=
。允许某些其他字符选择性地在其前面加上*
:
(?!.*v=)
见更新于
检查v=
前面的字符可能更安全:
(?!.*[?&]v=)
当尝试操作url数据时,请参见更新于,这通常是使用url解析技术的最佳实践。这使得
parse_url()
成为一个直观的候选者
你没有显示你的编码尝试(你仍然应该),但是如果你可以考虑一个非正则表达式,这将是可靠的:()
输出:
PLFgquLnL59akaNTxtgsoKn4c0Q8utjqku
PLdwCuEoZ_6l6C47ciTvf6Z2GArUOCHHQ3
disqualified
disqualified
disqualified
我的方法:
- 将每个url解析为组件数组
- 访问“query”元素
- 将键值对字符串转换为关联数组
- 检查是否存在“v”作为密钥
- 如果没有“v”,访问/输出“列表”值
- 如果为“v”,则输出“不合格”
parse_url()
成为一个直观的候选者
你没有显示你的编码尝试(你仍然应该),但是如果你可以考虑一个非正则表达式,这将是可靠的:()
输出:
PLFgquLnL59akaNTxtgsoKn4c0Q8utjqku
PLdwCuEoZ_6l6C47ciTvf6Z2GArUOCHHQ3
disqualified
disqualified
disqualified
我的方法:
- 将每个url解析为组件数组
- 访问“query”元素
- 将键值对字符串转换为关联数组
- 检查是否存在“v”作为密钥
- 如果没有“v”,访问/输出“列表”值
- 如果为“v”,则输出“不合格”