如何从url字符串中提取字符串“ACB-R5 TGDRSAuE 76 Tt 1 ZPa 5 qPv 9 cp 23 QLaJfni 84 B7 MXrcI”
“https://lh3.googleusercontent.com/a-/ACB-R5TGDRSAuE76Tt1ZPa5qPv9cp23QLaJfni84B7MXrcI=s120-c-c0x00000000-cc-rp-mo-br100“
url字符串的类型也可以是:“https://lh3.googleusercontent.com/a/ACB-R5TGDRSAuE76Tt1ZPa5qPv9cp23QLaJfni84B7MXrcI=s120-c-c0x00000000-cc-rp-mo-br100网站“。
我无法为上面的问题做一个正则表达式。
我试着做一个正则表达式,比如(?〈=/a/)(.*?)=,但是得到了最终的解。
1条答案
按热度按时间tkclm6bt1#
1.若要匹配前缀但在结果中忽略它,请使用lookbehind表达式(
?<=
),但是您只需要告诉它使用|
操作符匹配/a/
或/a-/
。另外,对特殊字符(如/
和-
)进行转义也很明智。所以你需要在它们前面加上\
来告诉Regex你想把它们当作普通字符来处理,所以正确的前缀匹配表达式是:(?<=\/a\/|a\-\/)
1.您不需要在
(.*?)
中使用?
,因为您知道ID中应该有一些字符。1.要匹配后缀(
=
)但在结果中忽略它,需要使用预视表达式(?=
):(?=\=)
最后一个正则表达式
(?<=\/a\/|a\-\/)(.*)(?=\=)
将给予要查找的子字符串。