我正在尝试将正则表达式作为我的 python 程序的参数(这自然是一个字符串),并简单地将它与另一个字符串匹配。
假设我运行它
python program.py 'Hi.there'
然后我希望能够接受该输入(称之为输入)并说出它是否与“HiTthere”匹配(它应该)。
我该怎么做?我对正则表达式没有经验。
据我了解,您正在寻找类似的东西:
import sys, re
regex = sys.argv[1]
someOtherString = 'hi there'
found = re.search(regex, someOtherString)
print('ok' if found else 'nope')
使用表达式作为第一个参数运行此程序:
> python test.py hi.th
ok
> python test.py blah
nope
与 javascript 不同,python 正则表达式是简单的字符串,因此您可以直接将sys.argv[1]
其用作re.search
.
Python 3 语法(Python 2,使用print xxx
代替print(xxx)
):
import re
if re.match(r'^Hi.there$', 'HiTthere'): # returns a "match" object or None
print("matches")
else:
print("no match")
请注意,我正在使用锚点^
并$
保证匹配跨越整个输入。^
匹配字符串的开头并$
匹配字符串的结尾。
有关更多详细信息,请参阅文档。