我尝试使用python的regex来识别来自用户的3个令牌,它们都可以由字母或数字组成。在
以下是我使用的代码:
match = re.search(r'(\w+)(\w+)(\w+)', inputStr)
if not match:
print("Not valid")
else:
numWord1 = match.group(0)
numword2 = match.group(1)
numWord3 = match.group(2)
print(num1)
其中inputStr来自raw_input()。我运行了我的代码,下面是每个输入的结果
^{pr2}$我认为\w匹配任何字母、数字或下划线,并且通过包含+我可以在我的组中获得一个或多个实例。在
是,但
\w
与空格不匹配例如1 2 3
r'(\w+)(\w+)(\w+)'
您的模式正在寻找任何字母数字或下划线,3倍或更多
\w
与数字之间的空格不匹配-正如您正确指出的,\w
匹配字母、数字或下划线,而不是空格。尝试:\s+
匹配数字组之间的一个或多个空白字符。在示例在Python 3中测试:
^{pr2}$相关问题 更多 >
编程相关推荐