我有一个非常奇怪的问题:
在几个在线服务中使用相同的正则表达式匹配,但不在我的本地python 3.3实例中。
re.search("ajaxHandler\('(?P<fp>[A-Z0-9]+)",rawdata).group("fp")
其中rawdata是
<select name="F4542661421192HPAUS" onchange="liftAjax.lift_ajaxHandler('F4542661421185WLRZY=' + encodeURIComponent(this.value), null, null, null)">[... blabla ...]</select>
知道出了什么问题吗?
答案 0 :(得分:0)
我无法重现这个:
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> rawdata="""<select name="F4542661421192HPAUS" onchange="liftAjax.lift_ajaxHandler('F4542661421185WLRZY=' + encodeURIComponent(this.value), null, null, null)">[... blabla ...]</select>"""
>>> re.search("ajaxHandler\('(?P<fp>[A-Z0-9]+)",rawdata).group("fp")
'F4542661421185WLRZY'
答案 1 :(得分:0)
你能更精确地解决问题吗?我也无法重现此错误:
rawdata = """<select name="F4542661421192HPAUS" onchange="liftAjax.lift_ajaxHandler('F4542661421185WLRZY=' + encodeURIComponent(this.value), null, null, null)">[... blabla ...]</select>"""
print(re.search("ajaxHandler\('(?P<fp>[A-Z0-9]+)",rawdata).group("fp"))
Output: F4542661421185WLRZY
你的rawdata类型可能出了什么问题?没有“”“我得到一个非类型错误,因为'并且”没有\“不能工作,”虽然这不应该是你的问题?