我正在尝试使用DpIJr_dR-DNu5kcR9RGmRprcnGU
从以下文本中提取一个27个字符长的子字符串regex
text ='[[\\ jewelry_designer \“] \ n,[\” watch_store \“] \ n,[\” jewelry_appraiser \“] \ n,[\” leather_goods_store \“] \ n] \ n, null,\“ DpIJr_dR-DNu5kcR9RGmRprcnGU \”,null,null,null,[null]'
到目前为止,我用以下命令隔离了由\"
包围的字符串
pattern = '\\"(.*?)\\"'
output = re.findall(pattern, text)
### output => ['jewelry_designer', 'watch_store', 'jewelry_appraiser', 'leather_goods_store', 'DpIJr_dR-DNu5kcR9RGmRprcnGU']
下一步是在输出中添加长度限制,因此它只能匹配27个字符长的子字符串。
我尝试了\\"(.*?){27}\\"
或\\"(.*?{27})\\"
,但没有成功。我可以做[x for x in output if len(x) == 27]
,但这很可惜。
答案 0 :(得分:1)
尝试这个:
\\\"([^\"]{27})\\\"
您首先将\"
与\\\"
进行匹配,然后匹配并捕获您对[^\"]{27}
感兴趣的字符串(除了重复引用27次以外的任何内容),然后再次\"
与\\\"