我在python中有一个带有一些字符串的列表,我需要知道列表中的女巫项目就像"A1_8301".这个"_"表示可以是任何字符.有快速的方法吗?
如果我使用的是SQL,我只需键入"where x like"A1_8301"
谢谢!
Mar*_*ers 10
在Python中,您使用正则表达式:
import re
pattern = re.compile(r'^A1.8301$')
matches = [x for x in yourlist if pattern.match(x)]
Run Code Online (Sandbox Code Playgroud)
这会生成符合您要求的元素列表.
^和$需要锚,防止串匹配; BA1k8301-42例如,不应该匹配.该re.match()调用仅在测试字符串的开头匹配,但是使用^使得它更加明确并且$很好地镜像了字符串结束锚._一个SQL像被翻译成.,这意味着匹配一个字符.正则表达式可能是正确的选择。IIRC,%应映射到.*并_应映射到.。
matcher = re.compile('^A1.8301$')
list_of_string = [s for s in stringlist if matcher.match(s)]
Run Code Online (Sandbox Code Playgroud)