用regex python解析JS

2024-10-03 04:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些javascript文本要用python解析 js html elemet中有这样的变量:

this.products = ko.observableArray([#here is some json, #here is some json])

observearray可以是1个json的持有者,它将是observearray({'id':'234234'})或observearray(['id':'3123123123]),它也可以像粘贴在更高的代码中那样,在每个逗号中保存无限数量的json

如何使用jsons和regexp获取此字符串我尝试过:

^{pr2}$

但我得到了:

File "/usr/lib/python2.7/re.py", line 177, in findall return _compile(pattern, flags).findall(string) TypeError: expected string or buffer


Tags: 文本idjsonstringhereishtmljs
1条回答
网友
1楼 · 发布于 2024-10-03 04:32:29

js不是字符串也不是缓冲区。您确定js是字符串(或缓冲区)吗?在

# no problem
>>> js = "this.products = ko.observableArray({'id': '234234'})"
>>> js_text = re.findall(regex, js)
>>> print(js_text)
[]

# argument is not a string nor a buffer (in this case None)
>>> js_text = re.findall(regex, None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mhawke/virtualenvs/urllib3/lib64/python2.7/re.py", line 177, in findall
    return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
>>> js_text = re.findall(regex, js)
>>> print(js_text)
[]

顺便说一句,打电话给regex.findall(js)稍微好一点。在

而且,您的regex模式有一个(不同的)问题。在

相关问题 更多 >