2024-06-25 07:07:57 发布
网友
我有以下字符串:
static name p1SystemSignalAlarm_oid = {4.3.4.2.1} static name p1SystemKfLinkNet_oid = {3.4.1.5.7}
我需要从第一行得到“警报”,从第二行得到“网络”。 我成功地选择了SystemSignalAlarm\uOID,我可以使用strip选择所需的单词。但如果我能用一个正则表达式就太好了。我应该如何选择它?你知道吗
这将从样本行中找到Alarm或Net:
Alarm
Net
for item in lines: result = re.findall(r'([A-Z][a-z]+)_oid', item) print result[0]
你似乎需要最后一个大写和下划线之间的单词。所以:
([A-Z][a-z]*)_
然后取第1组,忽略下划线:
>>> re.search('([A-Z][a-z]*)_', 'p1SystemSignalAlarm_oid').group(1) 'Alarm' >>> re.search('([A-Z][a-z]*)_', 'p1SystemKfLinkNet_oid).group(1) 'Net'
这将从样本行中找到
Alarm
或Net
:你似乎需要最后一个大写和下划线之间的单词。所以:
然后取第1组,忽略下划线:
相关问题 更多 >
编程相关推荐