Regex 使用正则表达式获取文本之间的文本
我想提取%3A之间的文本 以下是示例短语:Regex 使用正则表达式获取文本之间的文本,regex,Regex,我想提取%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} 但预期的短语是:32
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
然而,它捕获的是无效的东西
你能不能建议我,如何更好地做到这一点你可以使用a来查找%3A
,然后匹配后面的所有数字
(?<=%3A|:)(\d+)
(?您可以使用来查找%3A
,然后匹配之后的所有数字
(?<=%3A|:)(\d+)
(?假设参数中没有文本&
,则可以使用以下模式:
[&?]token=[^&%]*%3A([^%&]+)
见
详细信息:
[&?]token=
-a&token=
或?token=
子字符串
[^&%]*
-除&
和%
之外,零个或多个字符
%3A
-a%3A
子字符串
([^%&]+)
-第1组捕获除%
和&
以外的1个或多个字符
假设参数中没有文字&
,可以使用以下模式:
[&?]token=[^&%]*%3A([^%&]+)
见
详细信息:
[&?]token=
-a&token=
或?token=
子字符串
[^&%]*
-除&
和%
之外,零个或多个字符
%3A
-a%3A
子字符串
([^%&]+)
-第1组捕获除%
和&
以外的1个或多个字符
此处是否仅限于正则表达式?感谢您的回复Wikitor,是的,此处没有选项。我必须使用正则表达式,例如:(?谢谢回复hd,它不符合我的要求你使用的是哪种风格的regex?你在这里只使用regex吗?谢谢回复Wikitor,是的,这里没有选择。我必须使用类似:(?谢谢回复hd,它不符合我的要求你在使用哪种风格的regex?谢谢Wiktor的快速帮助:)感谢Wiktor的快速帮助:)