标题中的字符串为'="24digit number"'
,我想在""
之间提取数字(例如:="000021484123647598423458"
应该得到'000021484123647598423458'
)。
有些答案可以解答如何在"
之间获取数据,但在我的情况下,我还需要确认="
是否存在而没有捕获(还有其他"\d{24}"
个字符串,但是它是用于其他东西)。
我无法修改这些答案以获得我需要的东西。
我的最新正则表达式为((?<=\")\d{24}(?=\"))
,字符串为="000021484123647598423458"
。
更新:我想我会解决模式r'^(?:\=\")(\d{24})(?:\")'
,因为我只想捕获数字字符。
word = '="000021484123647598423458"'
pattern = r'^(?:\=\")(\d{24})(?:\")'
match = re.findall(pattern, word)[0]
谢谢大家的建议。
答案 0 :(得分:2)
你可以这样:
=(['"])(\d{24})\1
<小时/>
在Python
:
import re
string = '="000021484123647598423458"'
rx = re.compile(r'''=(['"])(\d{24})\1''')
print(rx.search(string).group(2))
# 000021484123647598423458
答案 1 :(得分:0)
以下任何一种作品:
>>> st = '="000021484123647598423458"'
>>> import re
>>> re.findall(r'".*\d+.*"',st)
['"000021484123647598423458"']
或
>>> re.findall(r'".*\d{24}.*"',st)
['"000021484123647598423458"']
或
>>> re.findall(r'"\d{24}"',st)
['"000021484123647598423458"']