我想判断一个字符串里是不是包含两个单词 name 和 hillerliao (忽略大小写),但如下代码匹配出来的结果是 None,为什么?该怎么做才能匹配出结果?感谢。
import re
text = "Hello my name is Hillerliao"
regx = "(n|N)ame.*(h|H)illerliao"
re.match(regx, text)
我想判断一个字符串里是不是包含两个单词 name 和 hillerliao (忽略大小写),但如下代码匹配出来的结果是 None,为什么?该怎么做才能匹配出结果?感谢。
import re
text = "Hello my name is Hillerliao"
regx = "(n|N)ame.*(h|H)illerliao"
re.match(regx, text)
找到另一种方案:
用 search 是比较好。match 的话可以这样:
import re
text = "Hello my name is Hillerliao"
regx = r'.*(name.*hillerliao|hillerliao.*|name.*).*'
print(re.match(regx, text, re.I))
正确的写法
>>> import re
>>> s = "Hello my name is Hillerliao"
>>> ptn = r'(?=^.*?name)(?=^.*?hillerliao)'
>>> print('有' if re.search(ptn, s, re.I) else '无')
有
>>>
4 回答4.5k 阅读✓ 已解决
1 回答3.5k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答548 阅读✓ 已解决
1 回答4.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决