首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定文件中的一行是否与通配符表达式匹配?

如何确定文件中的一行是否与通配符表达式匹配?
EN

Stack Overflow用户
提问于 2021-12-14 18:30:24
回答 2查看 165关注 0票数 0

我应该如何输入Python条件来匹配通配符表达式(*)?

我试图在文件中找到与通配符表达式-...string1*string2*string3.

代码语言:javascript
运行
复制
with open(file,'rw') as FILE:
  lines = FILE.readlines()
  for line in lines:
       if line == "string1*string2*string3":
       print (line)
EN

回答 2

Stack Overflow用户

发布于 2021-12-14 18:41:44

下面是使用正则表达式的解决方案:

代码语言:javascript
运行
复制
import re
from pathlib import Path

mystring = re.compile('string1.*string2.*string3')
filename = Path('/path/to/some/file')

with filename.open() as f:
    for line in f.readlines():
        if mystring.match(line):
            print(line)
票数 1
EN

Stack Overflow用户

发布于 2021-12-14 18:40:47

这是一个样本:

代码语言:javascript
运行
复制
import re
with open(file,'r') as file:
  for line in file.readlines():
    if re.search( "string1.*string2.*string3", line ):
       print (line)

当然,如果您只需要这样做,那么根本不需要Python:

代码语言:javascript
运行
复制
grep 'string1.*string2.*string3'  file.txt

或者在Windows上:

代码语言:javascript
运行
复制
findstr /r "string1.*string2.*string3" file.txt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70353917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档