我编写了一个 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
<_sre.SRE_Match object at 0x6a10578>
>>> re.search("1234$","lkjlkj1234ff") # does not match
>>>
所以你可能想要的表达方式是
s = re.search('([0-9a-f]{4})$',name)
关于python re.search regex - 如何在字符串的最后 4 位中搜索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9003301/