我在python中有一个包含一些字符串的列表,我需要知道列表中的项目是否像"A1_8301"一样。这个"_"意味着可以是任何字符。有快速的方法吗?如果我使用SQL,我只需键入"where x like" A1_8301 "之类的内容谢谢大家!
bis0qfac1#
在Python中,你可以使用正则表达式:
import re pattern = re.compile(r'^A1.8301$') matches = [x for x in yourlist if pattern.match(x)]
这将生成符合您的要求的元素列表。
^
$
BA1k8301-42
re.match()
_
.
guicsvcw2#
正则表达式可能是可行的方法。IIRC,%应该Map到.*,_应该Map到.。
%
.*
matcher = re.compile('^A1.8301$') list_of_string = [s for s in stringlist if matcher.match(s)]
2条答案
按热度按时间bis0qfac1#
在Python中,你可以使用正则表达式:
这将生成符合您的要求的元素列表。
^
和$
锚来防止 * 子字符串 * 匹配;例如,BA1k8301-42
不应该匹配,re.match()
调用只会在被测试字符串的开头匹配,但是使用^
会使这一点更加明确,并且可以很好地镜像字符串结尾锚的$
。_
被转换为.
,表示 * 匹配一个字符 *。guicsvcw2#
正则表达式可能是可行的方法。IIRC,
%
应该Map到.*
,_
应该Map到.
。