我想在%3A之间提取文本。
以下是示例短语:
http://www.sample.com/res?ccode=1232¬e=sampletext&token=12Add-12sre-24Aod-23343-34kdi%3A3232121%3ATVLOPQUI%3AIOOPDA%3AKKKKK%3A<r=23232
我尝试了以下表达式:
[&]{1}token[=]{1}([a-zA-Z0-9-%]*)(%3A(.*?)%3A){1}
但预期的词组是: 3232121
然而,它正在捕获无效的东西。
你能建议我,如何以更好的方式做到这一点
答案 0 :(得分:2)
答案 1 :(得分:2)
假设params中没有文字&
,您可以使用以下模式:
[&?]token=[^&%]*%3A([^%&]+)
请参阅regex demo
<强>详情:
[&?]token=
- &token=
或?token=
子字符串[^&%]*
- 除&
和%
以外的零个或多个字符%3A
- %3A
子字符串([^%&]+)
- 第1组捕获除%
和&
以外的1个或多个字符。