我在python中有一个带有一些字符串的列表,我需要知道列表中的女孩项目就像“A1_8301”。这个“_”表示可以是任何字符。 有快速的方法吗?
如果我使用的是SQL,我只需键入类似“其中x喜欢”A1_8301“
的内容谢谢!
答案 0 :(得分:10)
在Python中,您使用正则表达式:
import re
pattern = re.compile(r'^A1.8301$')
matches = [x for x in yourlist if pattern.match(x)]
这会生成符合您要求的元素列表。
^
和$
个锚点来阻止 substring 匹配;例如,BA1k8301-42
不应该匹配。 re.match()
调用仅在测试字符串的开头匹配,但使用^
会使其更加明确,并且很好地镜像$
以获得字符串结尾的锚点。 / LI>
_
被翻译为.
,意味着匹配一个字符。答案 1 :(得分:2)
正则表达式可能是要走的路。 IIRC,%
应映射到.*
,而_
应映射到.
。
matcher = re.compile('^A1.8301$')
list_of_string = [s for s in stringlist if matcher.match(s)]