尝试用 startswith 检查字符串

Trying to check a string with startswith

我正在尝试使用 startswith 来检查某些内容是否以此符号“<”开头,然后是字母数字字符。我的代码是:

if (line.startswith("<" + r"w\+")):

我原以为如果 line<inserttexthere><inserttexthere 开头,它会输出 True,但它不起作用。这可能与我使用 re 有关,我没有正确格式化字母数字字符的检查。

那是因为你没有使用正则表达式。 line.startswith("<" + r"w\+") 表示检查正则表达式是否以字符串开头 "<w\+" 精确值而不是正则表达式解释。

此外 startswith 不允许使用正则表达式,因此您应该这样检查:

import re

# Edit as @donkopotamus pointed well that match doesn't require '^' at the begining
in_re = re.compile(r'<\w+')

print(bool(in_re.match('<test true')))
print(bool(in_re.match('test false')))
print(bool(in_re.match('test <false 2')))

它returns:

True
False
False