如下正则表达式居然能成功配置url中的key,(^|)的意思不是开始或空吗,怎么能匹配&呢,是哪里理解错了呢?
正则
(^|)rsv_bp=([^&]*)(|$)
url字符串
?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&rsv_pq=eeeb21a20001f388&rsv_t=4ba6XCweLIFwqACbIt7eT8yuqYQfNU7ZJNTlLenvEtVVFm4jVEnL5O48Ze0&rqlang=cn&rsv_enter=1&rsv_sug3=6&rsv_sug1=6&rsv_sug7=100
正则能匹配到rsv_bp=0
(^|)
等于是废话,去掉无妨,因为(^|)
匹配行首或任意一个位置,任意一个位置包括了行首,也没有意义,所以去掉无妨。如图: