【发布时间】:2017-12-18 15:34:24
【问题描述】:
我是 Python 新手,但我使用 Perl 已经有一段时间了。在 Perl 中,为了将文件搜索限制为特定的文本块,我会写如下内容:
if (/start_line/ ... /end_line/) {
do something here
}
一旦/start_line/ 正则表达式匹配,条件/start_line/ ... /end_line/ 开始为真,然后继续为真,直到/end_line/ 正则表达式匹配之后。在逐行读取输入的循环中,这将对起始行和结束行之间的所有行执行 if 块。
如何在 Python 中表达相同的条件?
【问题讨论】:
-
“将文件搜索限制为特定的文本块”非常模糊,我们不一定知道足够的 perl 来知道这个“if (/start_line/ ... /end_line/” )" 的东西真的 确实如此。此外,最佳答案可能取决于上下文(文件中的内容,您希望如何使用它等)。
-
这在 Perl 中被称为“触发器运算符”(它是两个点
..,而不是三个点)。谷歌“Python中的触发器运算符”了解更多信息 -
@beasy:它是要么两个点或三个点,这取决于您希望它在范围末尾的行为方式。跨度>
-
@bruno: “我们不一定知道足够的 perl 来知道这个……东西的真正作用” 这很好,但这不是回避询问的理由问题只是因为有些人(大概像你)不知道答案。
-
@Borodin 我的意思是 OP 不应该问这个吗???请重新阅读,我只是要求澄清他正在尝试做什么,以便他有更多机会得到一个好的答案。