Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
如何使用正则表达式在Python3中查找特定字符串之后或之前的行?_Python_Regex - Fatal编程技术网

如何使用正则表达式在Python3中查找特定字符串之后或之前的行?

如何使用正则表达式在Python3中查找特定字符串之后或之前的行?,python,regex,Python,Regex,如何使用正则表达式在python3中的特定字符串之前或之后查找行?我正在阅读文本文件中的内容,请帮助我 file.txt my name is dharshini my mom name is chandra my dad name is uday my anniversay is on 04/01/1997 进口稀土 打开'file.txt','r'作为f: 输入文件=f.readlines 对于输入_文件中的行: find_line=re.findallr'mom',line 打印下一行

如何使用正则表达式在python3中的特定字符串之前或之后查找行?我正在阅读文本文件中的内容,请帮助我

file.txt

my name is dharshini
my mom name is chandra
my dad name is uday
my anniversay is on 04/01/1997
进口稀土 打开'file.txt','r'作为f: 输入文件=f.readlines 对于输入_文件中的行: find_line=re.findallr'mom',line 打印下一行 打印下一行 打印下一行 预期产出:

my name is dharshini
my dad name is uday
my anniversay is on 04/01/1997
尝试使用enumerate,enumerate在循环时获取索引,因此我通过索引和切片获取索引和其余值:

for i,line in enumerate(paragraph):
    if 'mom' in line:
        print(paragraph[:i])
        print(paragraph[i:])
编辑:

尝试使用enumerate,enumerate在循环时获取索引,因此我通过索引和切片获取索引和其余值:

for i,line in enumerate(paragraph):
    if 'mom' in line:
        print(paragraph[:i])
        print(paragraph[i:])
编辑:

试试这个:

import re

paragraph = ["my name is dharshini", "my mom name is chandra", "my dad name is uday" ,  "my anniversay is on 04/01/1997" ]
#set a flag for later
print_next = False
for line in paragraph:
 find_line = re.findall(r'(mom)', line)
 #if mom is found dad will be next
 if print_next:
     print(line)
     print_next = False
 #if mom is found
 if len(find_line) > 0:
     print(line)
     print_next = True
试试这个:

import re

paragraph = ["my name is dharshini", "my mom name is chandra", "my dad name is uday" ,  "my anniversay is on 04/01/1997" ]
#set a flag for later
print_next = False
for line in paragraph:
 find_line = re.findall(r'(mom)', line)
 #if mom is found dad will be next
 if print_next:
     print(line)
     print_next = False
 #if mom is found
 if len(find_line) > 0:
     print(line)
     print_next = True


@Python_初学者别忘了投票,如果成功了就接受:-为什么不解释一下它在做什么。然后他会从中学到一些东西this@Matthijs990更好?是的,但如果我是你,我会在你解释的时候用评论self@Python_beginner别忘了投票并接受它是否有效:-为什么你不解释它在做什么。然后他会从中学到一些东西this@Matthijs990更好?是的,但如果我是你,我会使用注释。你在行中解释它本身是段落变量字符串或列表?我做了一些更改,请再次查看代码。这将与我的代码中的结果相同,因为阅读行使用列表。你应该编辑标题如何查找行在使用正则表达式的python3中的特定字符串之后和之前?段落变量是字符串还是列表?我做了一些更改,请再次查看代码。这将与我的代码中的结果相同,因为readlines使用列表您应该编辑标题如何在使用正则表达式的python3中的特定字符串之后和之前查找行?我做了一些更改请再次查看代码。如果您做了一些更改,请再次查看代码