re.match 函数不检测文件中的行
re.match function doesn't detect line in file
我想检测“”部分在哪一行。我用 python 给它。
我使用了 re.match(),但它没有检测到那条明显的线:
import re
filereader = open("template.html", "r")
template = filereader.readlines()
filereader.close()
for d in range(len(template)):
if re.match(r'.*<body onload="init(0,0);">.*',template[d]):
wherebody = d
break
print(wherebody)
哪里出错了?
注意:HTML 文件具有
如您在此示例中所见:https://regex101.com/r/6JcYhk/1,您的正则表达式无法将文本与 <body onload="init(0,0);">
匹配。这是因为 (
和 )
被解释为 Regex 组开始和结束标记。您可以通过转义这些字符来解决此问题,这些字符与文字 (
和 )
相匹配:
...
if re.match(r'.*<body onload="init\(0,0\);">.*',template[d]):
...
(你可以在前面的例子中尝试一下,你会发现它开始匹配了)
我想检测“”部分在哪一行。我用 python 给它。 我使用了 re.match(),但它没有检测到那条明显的线:
import re
filereader = open("template.html", "r")
template = filereader.readlines()
filereader.close()
for d in range(len(template)):
if re.match(r'.*<body onload="init(0,0);">.*',template[d]):
wherebody = d
break
print(wherebody)
哪里出错了? 注意:HTML 文件具有
如您在此示例中所见:https://regex101.com/r/6JcYhk/1,您的正则表达式无法将文本与 <body onload="init(0,0);">
匹配。这是因为 (
和 )
被解释为 Regex 组开始和结束标记。您可以通过转义这些字符来解决此问题,这些字符与文字 (
和 )
相匹配:
...
if re.match(r'.*<body onload="init\(0,0\);">.*',template[d]):
...
(你可以在前面的例子中尝试一下,你会发现它开始匹配了)