尝试匹配字符串中由噪声字符分隔的“foo”或“bar”的第一个实例,例如“basdldfnmewoor”,它应该首先与'bar'匹配,重点强调:“basdldFnmewOOr”
保证包含“foo”或“bar”中的一个或两个,所有垃圾字符都是[a-z]
这是我的正则表达式/函数。
def first_foobar(mystring):
foo = re.search("\w*?(f)\w*?(o)\w*?(o)|\w*?(b)\w*?(a)\w*?(r)",mystring)
if foo.group(1) == "f":
return("foo")
else:
return("bar")
我在这里做错了什么?是否有更多的pythonic方式来做到这一点?它似乎永远不会匹配|
之后的第二个正则表达式答案 0 :(得分:1)
def first_foobar(mystring):
foo = re.search("\w*?(f)\w*?(o)\w*?(o)|\w*?(b)\w*?(a)\w*?(r)",mystring)
if foo.group(1) == "f":
return("foo")
elif foo.group(4) == "b":
return("bar")
b
中的bar
将位于4th
群组