正则表达式不匹配但似乎是正确的

时间:2013-02-27 11:05:33

标签: python regex pattern-matching python-3.3

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

在几个在线服务中使用相同的正则表达式匹配,但不在我的本地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>

知道出了什么问题吗?

2 个答案:

答案 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类型可能出了什么问题?没有“”“我得到一个非类型错误,因为'并且”没有\“不能工作,”虽然这不应该是你的问题?