【发布时间】:2021-11-02 17:01:36
【问题描述】:
我正在尝试在 python 中创建一个 re 模式来提取这种文本模式。
contentId: '2301ae56-3b9c-4653-963b-2ad84d06ba08' contentId: 'a887526b-ff19-4409-91ff-e1679e418922'
内容 ID 的长度为 36 个字符,混合了小写字母和数字,并在位置 8、13、18、23、36 处包含破折号。
对此的任何帮助将不胜感激,因为我现在似乎无法获得结果。
r1 = re.findall(r'^[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]*{36}$',f.read())
print(r1)
下面是我要从中提取的文件
Object.defineProperty(e, '__esModule', { value: !0 }), e.default = void 0;
var t = r(d[0])(r(d[1])), n = r(d[0])(r(d[2])), o = r(d[0])(r(d[3])), c = r(d[0])(r(d[4])), l = r(d[0])(r(d[5])), u = function (t) {
return [
{
contentId: '2301ae56-3b9c-4653-963b-2ad84d06ba08',
prettyId: 'super',
style: { height: 0.5 * t }
},
{
contentId: 'a887526b-ff19-4409-91ff-e1679e418922',
prettyId: 'zap',
style: { height: t }
}
];
},
【问题讨论】:
-
你的正则表达式有错字吗?
*{36}在括号]之后关闭字符组会导致error: multiple repeat。你的意思是r'^[a-zA-Z0-9~@#$^*()_+=[\]{}|\\,.?: -]{36}$'?