在python3中,我需要从一个格式为555=AB:C$: EF 1234567890
的序列中提取一个10位数的数字,我应该怎么做?=
和10位数字符串之间的字符串可以是几乎任何字符,而这些字符的长度总是10。。。我试图使用re.compile()
,但还不能设置适当的模式。欢迎提出任何建议!在
编辑#1:字符串总共有20个字符,最后10位数字,前10位可以是任何字符(空格、字母、$或其他符号和数字)。因此,我还不能确定一个好的模式。在
EDIT#2:问题是我无法真正确定字符串末尾是哪个字符(字符串是大文件的一部分)。这个字符串后面的字符在windows/linux/unix中似乎没有统一的显示。因此,我试图从一开始就找到它,而不是从最后找到它。谢谢!在
如果10位字符串总是在末尾,您应该能够使用
编辑:
根据你的编辑,你不需要正则表达式。如果字符串的长度总是20个字符,那么可以在python中使用普通的字符串操作。所以}
^{pr2}$[-10:]
或者甚至{如果你想从一开始就处理你的字符串,就采用后者。在
如果你不能使用字符串的结尾,因为你不知道它的结尾在哪里,你可以使用它
如果这10个数字是字符串中最后10个字符的总是的话,您可以按照另一个答案中的建议,
s[-10:]
。在如果不能保证,只需使用regular expression搜索10位数字,忽略字符串的其余部分。这个模式是
\d{10}
,即\d
代表数字,{10}
代表十次。在根据你的陈述:
如果您需要在一个更大的文本体中找到这些数字,可以搜索
^{pr2}$=
,后面跟着10个字符,后面跟着10个数字,即=.{10}\d{10}
输出是
1234567890
的后两组。在相关问题 更多 >
编程相关推荐