Ask a question of python regular matching

I want to determine whether a string contains two words name and hillerliao (ignore case), but the result matched by the following code is None, why? What should be done to match the results? Thank you.

import re
text = "Hello my name is Hillerliao"
regx = "(n|N)ame.*(h|H)illerliao"
re.match(regx, text)
Sep.11,2021

re.match ,re.search

re.search(r'name.*hillerliao', text, re.I) -sharp re.I   namehillerliao

: 'name.*hillerliao|hillerliao.*name' 

find another solution:

search is better. For match, you can go like this:

import re
text = "Hello my name is Hillerliao"
regx = r'.*(name.*hillerliao|hillerliao.*|name.*).*'
print(re.match(regx, text, re.I))

correct writing

>>> import re
>>> s = "Hello my name is Hillerliao"
>>> ptn = r'(?=^.*?name)(?=^.*?hillerliao)'
>>> print('' if re.search(ptn, s, re.I) else '')

>>> 
Menu