我已经写了一个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位数字分组?
提前致谢.
亚当
解决方法:
$匹配字符串的结尾.
>>> import re
>>> re.search("1234$","lkjlkj1234") # matches
>>> re.search("1234$","lkjlkj1234ff") # does not match
>>>
所以你可能想要的表达是
s = re.search('([0-9a-f]{4})$',name)
标签:python,regex