小编Cli*_*ton的帖子

正则表达式查找非数字和/或字符串结尾

如何在用于搜索的 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]')
Run Code Online (Sandbox Code Playgroud)

最后一组出现问题: [\$|\D] 匹配非数字或字符串结尾。

测试:

line = "abcd0123456789"
m = is10.search(line)
print m.group(1)

line = "abcd0123456789efg"
m = is10.search(line)
print m.group(1)
Run Code Online (Sandbox Code Playgroud)

python regex

4
推荐指数
1
解决办法
6713
查看次数

标签 统计

python ×1

regex ×1