python - 匹配字符串末尾的模式?

标签 python regex

假设我有以下字符串:

['a','b','c_L1', 'c_L2', 'c_L3', 'd', 'e', 'e_L1', 'e_L2']

其中“c”字符串具有重要的子类别(L1、L2、L3)。这些表示用于我们目的的特殊数据,这些数据是在基于预先指定的字符串“L”的程序中生成的。换句话说,我知道特殊条目应该具有以下形式:

name_Lnumber

知道我正在寻找这种模式,并且我正在使用“L”或更具体地说是“_L”作为我对这些对象的指定,我如何才能返回满足此条件的条目列表?在这种情况下:

['c', 'e']

最佳答案

使用一个简单的过滤器:

>>> l = ['a','b','c_L1', 'c_L2', 'c_L3', 'd', 'e', 'e_L1', 'e_L2']

>>> filter(lambda x: "_L" in x, l)
['c_L1', 'c_L2', 'c_L3', 'e_L1', 'e_L2']

或者,使用列表理解

>>> [s for s in l if "_L" in s]
['c_L1', 'c_L2', 'c_L3', 'e_L1', 'e_L2']

因为你只需要前缀,所以你可以把它拆分:

>>> set(s.split("_")[0] for s in l if "_L" in s)
set(['c', 'e'])

关于python - 匹配字符串末尾的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031354/

相关文章:

python - regexp_tokenize 和阿拉伯文本

python - 查看 .npy 图像

javascript - 给定页面标题列表,在 MediaWiki 页面中自动添加 wiki 链接

objective-c - 在大型 NSString 中有效地找到许多关键字中的第一个

python - 为什么这个二分搜索算法两次返回 None ?

python - 在 SuSE 11.1 64 位上安装 yum

python - 将带有 Numpy 值的 pandas Dataframe 转换为 pysparkSQL.DataFrame

java - 如何仅在选取与给定模式匹配的所有文件时获取当前日期的文件

python - 更改标签之间的文本 - shell 脚本

java - 为什么我会得到这个正则表达式的解析异常?