javascript - Python使用正则表达式从javascript中提取文本
问题描述
我有一些 javascript 文本:
NCIA.username = 'filler@school.edu';
NCIA.user_id = '5bad4c16260c175e8660ae19';
NCIA.user_rights = '1'*1;
if (empty(NCIA.lti_info) || NCIA.lti_info.valid_connection == false) NCIA.catalog_cookie=true;
NCIA.alias_activity_id='';
NCIA.activity_id='560a8cc65e4ef62276c1a2f0';
我想使用正则表达式来提取 NCIA.username 和 NCIA.activity_id 的值。有什么好的方法可以同时提取吗?
解决方案
这应该做你想要的。NCIA
正则表达式在行首(或可能在一些空格之后)查找;一个.
; username
或之一activity_id
;其次是=
,可能被空格包围;最后是单引号内的值:
import re
js = """NCIA.username = 'filler@school.edu';
NCIA.user_id = '5bad4c16260c175e8660ae19';
NCIA.user_rights = '1'*1;
if (empty(NCIA.lti_info) || NCIA.lti_info.valid_connection == false) NCIA.catalog_cookie=true;
NCIA.alias_activity_id='';
NCIA.activity_id='560a8cc65e4ef62276c1a2f0';"
"""
regex = re.compile('^\s*NCIA\.(username|activity_id)\s*=\s*\'([^\']+)\';', re.MULTILINE)
print regex.findall(js)
输出
[('username', 'filler@school.edu'), ('activity_id', '560a8cc65e4ef62276c1a2f0')]
推荐阅读
- javascript - 在 js 中使用 next 克隆元素
- google-analytics - 我想从 Google Optimize 中测试的页面中删除 utm_referrer 参数
- python - KeyError:python中的'valor'
- ios - .compact 样式的 UIDatePicker 不尊重内容拥抱优先级
- c# - 如何使用 Entity Framework Core 3.1 在一个事务中删除不超过 X 行
- mongodb - Bitnami mongodb cluster con't access from mongo3t client kubernetes
- failover - Ceph MDS 会在“up:replay”中停留数小时。MDS 故障转移需要 10-15 小时
- html - 在网格中悬停时显示整个截断的文本 - 有更好的解决方案吗?
- git - Git:如何提出仅包含文件子集(而不是提交)的选择性拉取请求
- mysql - 具有排名变量顺序的分数表并保持排名