[英]Wildcard match in python
我在python中有一个字符串
x = "orange".
该程序接受输入字符串。如果输入字符串与x的通配符模式匹配,则执行一些操作。 模式是
pattern = "#.orange.*"
#(哈希)-可以替代零个或多个单词。
*(星号)-可以完全替换一个单词。
因此,如果我的输入字符串是“ quick.orange.rabbit”,则它应该匹配。 谁能帮我在python中做到这一点? 我努力了 -
import re
input_str = input("enter string")
pattern = #.orange.*
p = re.compile(pattern)
if p.match(input_str):
# do something
提前致谢。
不知道我是否正确理解了Regex的想法,但是如果我是正确的,则需要匹配以下内容:
(零个或多个字)橙色(恰好一个字)
现在,我不知道哈希中的单词是由空格,句点分隔还是只是一个接一个的单词,但是以下几种情况:
哈希词,以空格分隔
pattern = r"(?P<hash>(\w+|\s)*)\.(?P<orange>orange)\.(?P<star>\w+)"
句点分隔的哈希词
pattern = r"(?P<hash>(\w+|\.)*)\.(?P<orange>orange)\.(?P<star>\w+)"
彼此紧紧地散列单词
pattern = r"(?P<hash>(\w*))\.(?P<orange>orange)\.(?P<star>\w+)"
如果您不想使用(?P <>)语法,也可以执行以下操作
pattern = r"(\w+|\s)*\.orange\.\w+"
哪个将与您的字符串匹配,并告诉您是否匹配,但随后您将无法执行
match.group('hash')
获取哈希词。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.