我有一个字符串
" request.addParameter('page','/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag','N','',true,false); "
。
我想提取部分
" '/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag' "
这个字符串。我尝试了几种正则表达式的组合(在python中使用re模块),但是找不到确切的所需模式,它给出了主字符串中的子字符串。
答案 0 :(得分:1)
'([^']+)'
你可以试试这个。
执行print re.findall(r"'([^']+)'",x)[1]
。
这里x是你的字符串。基本上它是提取第二组。
参见演示。
答案 1 :(得分:0)
使用正则表达式
'\/[^']+'
代码可以写成
x=" request.addParameter('page','/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag','N','',true,false); ".
re.findall(r"'\/[^']+'", x)"
["'/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag'"]
了解正则表达式的工作原理http://regex101.com/r/pK9mI8/1
您还可以使用search
函数搜索并找到与模式匹配的子字符串
re.search(r"'\/[^']+'", x).group()
"'/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag'"
答案 2 :(得分:0)
好像你想要这样的东西,
>>> import re
>>> s = " request.addParameter('page','/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag','N','',true,false); "
>>> re.search(r"'(/[^']*)'", s).group(1)
'/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag'
答案 3 :(得分:0)
您不能使用regex
split()
来使用>>> s.split(',')[1]
"'/TMRMKUOHY/RPM/Store/srrreVkew.jsp?resODFlag'"
:
{{1}}