【发布时间】:2010-12-02 09:45:50
【问题描述】:
如何在 python 2.6 正则表达式集中包含一个字符串结尾和一个非数字字符以进行搜索?
我想找到 10 位数字,开头是非数字,结尾是非数字或字符串结尾。它是一个 10 位的 ISBN 号,“X”对最后一位有效。
以下方法不起作用:
is10 = re.compile(r'\D(\d{9}[\d|X|x])[$|\D]')
is10 = re.compile(r'\D(\d{9}[\d|X|x])[\$|\D]')
is10 = re.compile(r'\D(\d{9}[\d|X|x])[\Z|\D]')
问题出现在最后一组:[\$|\D] 匹配非数字或字符串结尾。
测试:
line = "abcd0123456789"
m = is10.search(line)
print m.group(1)
line = "abcd0123456789efg"
m = is10.search(line)
print m.group(1)
【问题讨论】:
-
请格式化您的代码以使其可读