Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python和正则表达式-在文件中搜索_Python_Regex - Fatal编程技术网

Python和正则表达式-在文件中搜索

Python和正则表达式-在文件中搜索,python,regex,Python,Regex,假设我在*.txt文件中有一些文本: NUM_SITE_CHAINS 1 SITE_DESCR EVIDENCE_CODE: SOFTWARE BINDING FOR RESIDUE ZN A 179 NUMBER_OF_AA 4 22 EXPOSURE 0.45 0.26 DISCONTINUITY 18.000 SITE -3.275 0.375 -0.525 0.125 44.400 57.400 44.725 21.700 ENVIRONMENT 0.718 -0.232 0.

假设我在*.txt文件中有一些文本:

NUM_SITE_CHAINS 1
SITE_DESCR EVIDENCE_CODE: SOFTWARE BINDING  FOR RESIDUE ZN A 179
NUMBER_OF_AA 4 22
EXPOSURE   0.45   0.26
DISCONTINUITY 18.000
SITE -3.275 0.375 -0.525 0.125 44.400 57.400 44.725 21.700
ENVIRONMENT 0.718 -0.232 0.138 0.000 40.164 28.782 55.655 42.505
我想在我的示例中找到以“SITE”开头的第6行。我不想找到第二行,因为“SITE”后面没有空格。为此,我尝试了以下方法:

with open(fname) as openfile:
    for line in openfile:
        for part in line.split():
            if re.search(r"^SITE\s", part):
                listSITE.append(line)

但是“列表站点”仍然是空的。正则表达式或不适当的re中是否存在问题。方法?提前谢谢你

使用
re.findall
,模式为
^SITE.*$

input = "..."
lines = re.findall(r'^SITE .*$', input, flags=re.MULTILINE)
print(lines)

['SITE -3.275 0.375 -0.525 0.125 44.400 57.400 44.725 21.700']

使用
re.findall
,模式为
^SITE.*$

input = "..."
lines = re.findall(r'^SITE .*$', input, flags=re.MULTILINE)
print(lines)

['SITE -3.275 0.375 -0.525 0.125 44.400 57.400 44.725 21.700']
无需导入re,只需使用startswith(注意站点str末尾的空格)


无需导入re,只需使用startswith(注意站点str结尾的空格。

对于循环,您可能不需要第二个
,并将if条件更改为
if-re.search(r“^SITE\s”,行):
对于
循环,您可能不需要第二个
,并将if条件更改为
if-re.search(r“^SITE\s”,行):
也能捕获AAAA站点BBBB应该只捕获开头,beggining中带有法语口音的前一个版本是正确的,也能捕获AAAA站点BBBB应该只捕获开头,beggining中带有法语口音的前一个版本是正确的,非常好!而且-代码看起来更简单!非常感谢!很高兴看到帮助:)效果很好!而且-代码看起来更简单!非常感谢!乐于帮助:)