【发布时间】:2012-01-25 13:12:00
【问题描述】:
我已经编写了一个 python 脚本(我的第一个),它接受字符串的输入,然后使用 re.search 从字符串创建组以供以后使用。
输入字符串应该是这样的:
NSC_sdiakjfean=ffffffff3c19594d45525d5f4f58455e445a4a423660
我目前使用的 re.search 是:
s = re.search('NSC_([a-zA-Z0-9\-\_\.]*)=[0-9a-f]{8}([0-9a-f]{8})[0-9a-f]{24}([0-9a-f]{4})',name)
我发现的问题是,有时我想使用的输入缺少此部分 [0-9a-f]{24},因此我的 python 脚本因异常而崩溃并且没有捕获最后一组。
是否有任何正则表达式(是的,我在谷歌上搜索过很多)可以用于最后一组从输入字符串的末尾开始并仅对最后 4 位进行分组?
提前致谢。
亚当
【问题讨论】:
-
你得到了什么异常,确切地说? (顺便说一句,
[a-zA-Z0-9-_.]是错误的。如果你想匹配它,你应该把破折号放在最后[a-zA-Z0-9_.-])