0

我有一个非常奇怪的问题:

在多个在线服务中使用相同的正则表达式匹配,但在我的本地 python 3.3 实例中没有。

re.search("ajaxHandler\('(?P<fp>[A-Z0-9]+)",rawdata).group("fp")

原始数据在哪里

<select name="F4542661421192HPAUS" onchange="liftAjax.lift_ajaxHandler('F4542661421185WLRZY=' + encodeURIComponent(this.value), null, null, null)">[... blabla ...]</select>

知道出了什么问题吗?

4

2 回答 2

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

也许您的原始数据类型出了问题?没有 """ 我得到一个非类型错误,因为 ' 和 " 没有 \" 不工作,虽然这不应该是你的问题?

于 2013-02-27T11:22:41.170 回答
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'
于 2013-02-27T11:09:08.170 回答