首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在一行中匹配带有文件扩展名的任何字符串,并在python中仅打印匹配的单词

在Python中,可以使用正则表达式来匹配带有文件扩展名的任何字符串,并且只打印匹配的单词。下面是一个示例代码:

代码语言:python
代码运行次数:0
复制
import re

# 定义要匹配的字符串
string = "This is a sample.txt file and another.docx file"

# 使用正则表达式匹配带有文件扩展名的任何字符串
matches = re.findall(r'\b\w+\.\w+\b', string)

# 打印匹配的单词
for match in matches:
    print(match)

运行以上代码,输出结果为:

代码语言:txt
复制
sample.txt
another.docx

解释代码的关键部分:

  • re.findall() 函数用于在字符串中查找所有匹配正则表达式的子串,并返回一个列表。
  • 正则表达式 r'\b\w+\.\w+\b' 用于匹配带有文件扩展名的单词,其中:
    • \b 表示单词的边界。
    • \w+ 表示匹配一个或多个字母、数字或下划线。
    • \. 表示匹配一个点(用于分隔文件名和扩展名)。
    • \w+ 表示匹配一个或多个字母、数字或下划线。
  • for 循环用于遍历匹配的单词,并打印每个单词。

请注意,以上代码只是一个示例,实际应用中可能需要根据具体需求进行修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux三剑客之grep,awk,sed命令必知必会

grep "linuxmi" test test1 test2 匹配文件整个单词。 默认情况下,即使在子字符串中找到了Grep,也会输出所有出现某种特定模式。...在这种情况下,我们将输出不包含单词“linuxmi”其他任何内容。...“ $”正则表达式表示行结尾,可用于匹配以特定字符串结尾行。在本例,我们注意匹配以“ 0”结尾行。...它不需要任何编译,并且用户可以使用数字函数,变量,字符串函数和逻辑运算符。 它使您能够以语句形式编写简单有效程序,以在文件搜索特定模式,并在找到匹配项时执行操作。...如何在Linux中使用AWK命令 默认情况下,Awk命令用于打印文件内容。在本例,没有指定模式,因此操作应用于文件一行

9.2K20

Sed..

N # 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p # 打印模板块行。 P # (大写) 打印模板块一行。 q # 退出Sed。...& # 保存搜索字符用来替换其他字符,s/love/ **&** /,love这成 **love** 。 \ # 匹配单词结束,/love\>/匹配包含以love结尾单词行。 x\{m\} # 重复字符x,m次,:/0\{5\}/匹配包含5个0行。...,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,使用...Sed对于脚本输入命令非常挑剔,在命令末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头行为注释行,且不能跨行。

1.6K20
  • linuxsed命令总结

    N # 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p # 打印模板块行。 P # (大写) 打印模板块一行。 q # 退出Sed。...& # 保存搜索字符用来替换其他字符,s/love/ **&** /,love改成 **love** 。 \ # 匹配单词结束,/love\>/匹配包含以love结尾单词行。 x\{m\} # 重复字符x,m次,:/0\{5\}/匹配包含5个0行。...2,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,...Sed对于脚本输入命令非常挑剔,在命令末尾不能有任何空白或文本,如果在一行中有多个命令,要用分号分隔。以#开头行为注释行,且不能跨行。

    3.2K20

    【linux命令讲解大全】081.sed:功能强大流式文本编辑器

    P # (大写) 打印模板块一行。 q # 退出Sed。 b # 分支到脚本带有标记地方,如果分支不存在则分支到脚本末尾。 r # 从file读行。...& # 保存搜索字符用来替换其他字符,s/love/ & /,love这成 love 。 # 匹配单词结束,/love>/匹配包含以love结尾单词行。 x{m} # 重复字符x,m次,:/0{5}/匹配包含5个0行。.../p’ file 直接编辑文件 选项-i ,会匹配file文件一行所有book替换为books: sed -i 's/book/books/g' file 全面替换标记g 使用后缀 /g 标记会替换每一行所有匹配...,$d' file 删除文件最后一行: sed '$d' file 删除文件中所有开头是test行: sed '/^test/'d file 已匹配字符串标记& 正则表达式 \w+ 匹配每一个单词,使用

    23610

    【Linux篇】--sed用法

    n 读取下一个输入行,用下一个命令处理新行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p 打印模板块行。 P(大写) 打印模板块一行。...p 表示打印行。 w 表示把行写入一个文件。 x 表示互换模板块文本和缓冲区文本。...y 表示把一个字符翻译为另外字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 4、sed元字符集 ^ 匹配行开始,:/^sed/匹配所有以sed开头行。...& 保存搜索字符用来替换其他字符,s/love/**&**/,love这成**love**。 \ 匹配单词结束,/love\>/匹配包含以love结尾单词行。 x\{m\} 重复字符x,m次,:/0\{5\}/匹配包含5个0行。

    1.6K20

    常见linux命令介绍-sed

    ’ filename 执行脚本sed处理命令 常用参数 -n :只打印模式匹配行 -e :直接在命令行模式上进行sed动作编辑,此为默认选项 -f :将sed动作写在一个文件内,用–f filename...n 读取下一个输入行,用下一个命令处理新行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p 打印模板块行。 P(大写) 打印模板块一行。...p 表示打印行。 w 表示把行写入一个文件。 x 表示互换模板块文本和缓冲区文本。...y 表示把一个字符翻译为另外字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集 符号 说明 ^ 匹配行开始,:/^sed/匹配所有以sed开头行。...\< 匹配单词开始,:/\<love/匹配包含以love开头单词行。 \> 匹配单词结束,/love\>/匹配包含以love结尾单词行。

    1.6K10

    Linux命令篇(二):文档编辑部分

    1、grep 命令 grep命令主要用于查询文件字符串或者应用于正则表达式,基本语法格式: gerp [参数选项] [文件] 常用参数 -i:忽略大小写进行匹配。...-v:反向查找,只打印匹配行。 -n:显示匹配行号。 -r:递归查找子目录文件。 -l:只打印匹配文件名。 -c:只打印匹配行数。...举例说明 在文件 testfile.txt 查找字符串 “linux”,并打印匹配行 grep linux testfile.txt 在标准输入查找字符串 “linux”,并只打印匹配行数 echo.../目录下查找文件带有linux字符串文件,并打印字符串所在行内容 grep -r linux /homa/sk/test/ 2、rgrep 命令 rgrep命令等同于 grep -r 命令,主要是用于递归查找文件里符合条件字符串...后面通常不接任何东东 i :插入, i 后面可以接字串,而这些字串会在新一行出现(目前一行) p :打印,亦即将某个选择数据印出。

    12010

    Linux|Grep 命令 12 个实用示例

    -v 选项告诉 grep 反转其输出,这意味着不打印匹配行,而是执行相反操作并打印所有与表达式不匹配行,在本例为 # 注释行。 请注意,我们还使用了 grep .最后以隐藏所有空行输出。...-name “*.mp3” | grep –i JayZ | grep –vi “remix” 在此示例,我们使用 find 打印所有带有 *.mp3 扩展名文件,将其通过管道传输到 grep –...i 以过滤并打印名称为“JayZ”所有文件,然后将另一个管道传输到 grep –vi 进行过滤out 并且不会打印带有字符串(在任何情况下)“remix”所有文件名。...打印匹配周围行数 grep -C 选项类似,但它不是打印字符串之前或之后行,而是打印任一方向行: ifconfig | grep -C 2 lo TX errors 0 dropped...另一方面,如果您尝试: ifconfig | grep -w "RUN" 不会返回任何内容,因为我们搜索不是模式,而是整个单词。 10.

    32110

    Python 学习入门(13)—— 正则表达式

    如在 "news.rc" ,"news" 是基本名,"rc" 是文件扩展名匹配模式非常简单: .*[.].*$ 注意 "." 需要特殊对待,因为它是一个元字符;我把它放在一个字符类。...$ 在第三次尝试,第二和第三个字母都变成可选,为是允许匹配比三个字符更短扩展名 "sendmail.cf"。 该模式现在变得非常复杂,这使它很难读懂。...后面的 $ 被要求是为了确保象 "sample.batch" 这样扩展名以 "bat" 开头会被允许。 将另一个文件扩展名排除在外现在也容易;简单地将其做为可选项放在界定符。...python >>> p = re.compile('x*') >>> p.sub('-', 'abxd') '-a-b-d-' 如果替换是一个字符串任何在其中反斜杠都会被处理。"...未知转义 "\j" 则保持原样。逆向引用, "\6",被 RE 相应匹配而被子串替换。这使你可以在替换后字符串插入原始文本一部分。

    1.2K40

    文件系统特殊命令一览表

    指定含有字符串文件列表每个字符串文件应位于单独一行,如果任何字符串与复制文件绝对路径任何部分相符,则排除复制该文件 (例如...如果只用文件扩展名调用 ASSOC,则显示那个文件扩展名的当前文件关联。 如果不为文件类型指定任何参数,命令会删除文件扩展名关联。 案例: #示例1.显示指定文件类型,并且设置文件扩展名....将搜索字符串作为一般表达式使用 /S 在当前目录和所有子目录搜索匹配文件 /I 指定搜索不分大小写 /X 打印完全匹配行 /V...只打印不包含匹配行 /N 在匹配每行前打印行数 /M 如果文件含有匹配项,只打印文件名 /O 在每个匹配行前打印字符偏移量 /P...通配符: 任何字符 * 重复: 以前字符或类出现零或零以上次数 ^ 行位置: 行开始 $ 行位置: 行终点 [class] 字符类: 任何在字符集中字符

    3.8K30

    grep note

    -R --exclude-dir={.git,res,bin} 多个文件示例 排除扩展名为 java 和 js 文件 grep -E "http" . -R --exclude=*....排除扩展名为java, js 和 md~ 文件何在 Linux 系统和类 Unix 操作系统中使用带正则表达式 grep 命令呢?...固定检索内容位置: 你可以使用 ^ 和 $ 符号强制一个正则表达式分别匹配一行开始或结束位置。...grep '\' FILENAME 在上面的例子, \< 在单词开始位置匹配空格字符串 \> 在单词结尾匹配空格字符串 检索并输出所有两个字母结果:grep '^..$' FILENAME...你可以使用下面的语法测试一个字符在序列重复次数: {N} {N,} {min,max} 匹配包含两个字母 v 字符串结果:egrep "v{2}" FILENAME 下面的例子中将检索文件内包含

    2.7K20

    Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

    提供了后缀名(.bak)则备份文件 -l N/ --line-length=N 为l命令指定换行长度n -n/--quiet/——silent 不自动打印模式空间内容,显示脚本处理后结果,...前面可加数字,指定打印第几行 P(大写) 打印模板块一行。 q 退出Sed。 b lable 分支到脚本带有标记地方,如果分支不存在则分支到脚本末尾。 r file 从file读行。...& 保存搜索字符用来替换其他字符,s/love/**&**/,love这成**love**。 \ 匹配单词结束,/love\>/匹配包含以love结尾单词行。 x\{m\} 重复字符x,m次,:/0\{5\}/匹配包含5个0行。...需用到替换标记:& 已匹配字符串标记,代替之前已匹配内容 需用到正则表达式:\w\+:匹配每一个单词 $ ls | sed 's/^/666_&/g' #表示给当前文件文件名统一添加前缀 $

    9.3K21

    egrep命令

    -C NUM, --context=NUM: 打印输出上下文NUM行,在相邻匹配组之间放置包含--行。 -b, --byte-offset: 打印输入文件每行输出之前字节偏移量。...-n, --line-number: 在输出一行前面加上输入文件行号。 -o, --only-matching: 只显示匹配与模式匹配部分。...如果grep确定文件是文本文件,它将从原始文件内容删除CR字符(以使带有^和$正则表达式正常工作)。...-v, --invert-match: 反转匹配意义,以选择不匹配行。 -w, --word-regexp: 只选择与表单包含单词匹配行。...测试是匹配子串必须在行开头,或者前面有非单词组成字符,同样,它必须位于行末尾,或者后跟非单词组成字符。单词组成字符是字母、数字和下划线。

    1.4K10

    你应该学习正则表达式

    1 – 年份匹配 我们来看看另外一个简单例子——匹配二十或二十一世纪任何有效一年。 ? 我们使用\b而不是^和$来开始和结束这个正则表达式。\b表示单词边界,或两个单词之间空格。...2 – 匹配时间 现在我们要定义一个正则表达式来匹配24小时格式(MM:HH,16:59)任何时间。 ? \b——字边界 [01]——0或1 ?——表示上述模式是可选。...上述脚本将打印Today's date is 09/18/2017到控制台。 同样脚本在Python是这样: ? 4 – 电子邮件验证 正则表达式也可用于输入验证。 ?...——匹配URL路径(/posts)、查询字符串(?limit=1)和/或文件扩展名(.html),这些都是可选。 6.0 – 命名捕获组 你注意到没有,一些捕获组现在以?标识符开头。...(png|jpg|jpeg|gif|webp)——匹配常见图像文件扩展名 $——结束行 以下是如何列出Downloads目录中所有图像文件方法。 ?

    5.3K20

    6个实例,8段代码,详解Pythonfor循环

    作者:奥斯瓦尔德·坎佩萨托(Oswald Campesato) 来源:大数据DT(ID:hzdashuju) Python 支持for循环,它语法与其他语言(JavaScript 或Java)稍有不同...下面的代码块演示如何在Python 中使用for循环来遍历列表元素: 上述代码段是将三个字母分行打印。...你可以通过在print语句后面添加逗号“,”将输出限制在同一行显示(如果指定打印字符很多,则会“换行”),代码如下所示: 当你希望通过一行而不是多行显示文本内容时,可以使用上述形式代码。...当循环执行结束,清单1 打印出数值单词和,并在后面显示非数值单词。它输出如下所示: 02 指数运算 清单2 Nth_exponet.py说明了如何计算一组整数幂。...清单7 输出如下所示: 05 用基础for循环显示字符串字符 清单8 StringChars1.py说明了如何打印一个文本字符串字符。

    2K20

    fd一个简单快速find命令替代方案

    何在Linux安装fd 我们将看看如何在不同Linux发行版安装 fd 。...(git | fd)ignore 文件匹配 --no-ignore-vcs 不要忽略.gitignore文件匹配 -s, --case-sensitive 区分大小写搜索...# fd 在下一个 fd 示例,我将使用位于/var/www/html/默认WordPress安装来搜索不同文件文件夹。 在下面的示例,我使用前10个结果来缩短命令输出。...我们可以使用- e标志按文件扩展名进行过滤: # fd -e jpg - e标志可以与这样模式结合使用: # fd -e php index 上面的命令将查找扩展名为 php 文件并在其中包含字符串...index : 如果要排除某些结果,可以使用- E标志,如下所示: # fd -e php index -E rumenz 此命令将查找包含php扩展名所有文件,其中包含字符串 index

    16510

    文件系统特殊命令一览表

    指定含有字符串文件列表每个字符串文件应位于单独一行,如果任何字符串与复制文件绝对路径任何部分相符,则排除复制该文件 (例如...如果只用文件扩展名调用 ASSOC,则显示那个文件扩展名的当前文件关联。 如果不为文件类型指定任何参数,命令会删除文件扩展名关联。 案例: #示例1.显示指定文件类型,并且设置文件扩展名....将搜索字符串作为一般表达式使用 /S 在当前目录和所有子目录搜索匹配文件 /I 指定搜索不分大小写 /X 打印完全匹配行 /V...只打印不包含匹配行 /N 在匹配每行前打印行数 /M 如果文件含有匹配项,只打印文件名 /O 在每个匹配行前打印字符偏移量 /P...*" #13.统计字符数 findstr /o .* test.txt #/o:在每行前打印字符偏移量 #上一行.

    3.1K32

    Python 自动化指南(繁琐工作自动化)第二版:十、组织文件

    原文:https://automatetheboringstuff.com/2e/chapter10/ 在前一章,你学习了如何在 Python 创建和写入新文件。...首先运行程序,注释掉这些调用,并添加print()调用来显示将要删除文件,这通常是一个好主意。下面是一个 Python 程序,它旨在删除带有txt文件扩展名文件。...为第二个参数 ➌ 传递re.VERBOSE将允许正则表达式字符串空白和注释,使其更具可读性。 正则表达式字符串以^(.*?)开头,匹配文件名开头任何可能在日期之前文本。((0|1)?...第二步:从文件识别日期部分 接下来,程序必须遍历从os.listdir()返回文件字符串列表,并根据正则表达式匹配它们。应该跳过任何没有日期文件。...填补空白 编写一个程序,在单个文件查找带有给定前缀所有文件spam001.txt、spam002.txt等,并定位编号任何空白(如是否有spam001.txt和spam003.txt,但没有

    1.4K50

    fd一个简单快速find命令替代方案

    何在Linux安装fd 我们将看看如何在不同Linux发行版安装 fd 。 对于 Ubuntu 和 Debian 发行版,您需要从发布页面下载最新fd版本并使用以下命令进行安装。...(git | fd)ignore 文件匹配 --no-ignore-vcs 不要忽略.gitignore文件匹配 -s, --case-sensitive 区分大小写搜索...# fd 在下一个 fd 示例,我将使用位于/var/www/html/默认WordPress安装来搜索不同文件文件夹。 在下面的示例,我使用前10个结果来缩短命令输出。...我们可以使用- e标志按文件扩展名进行过滤: # fd -e jpg - e标志可以与这样模式结合使用: # fd -e php index 上面的命令将查找扩展名为 php 文件并在其中包含字符串...index : 如果要排除某些结果,可以使用- E标志,如下所示: # fd -e php index -E rumenz 此命令将查找包含php扩展名所有文件,其中包含字符串 index ,并将排除

    1.5K00

    在Linux服务器上通过日志筛选技巧定位Spring Boot项目问题

    -l 或 --files-with-matches:列出包含匹配文件名。 -n 或 --line-number:显示匹配行号。 -v 或 --invert-match:选择不匹配行。...-w 或 --word-regexp:匹配整个单词。 -A 或 --after-context=:在匹配行后打印上下文。.../ 搜索词:在文件搜索指定词,并跳转到下一个匹配。 ? 搜索词:在文件逆向搜索指定词,并跳转到上一个匹配。 q 键:退出 less,停止显示文件。...对于其他类型压缩文件 bzip2(.bz2 扩展名)或 xz(.xz 扩展名)压缩文件,可以使用相应工具 bzmore 和 xzmore 来查看其内容。...对于其他类型压缩文件 bzip2(.bz2 扩展名)或 xz(.xz 扩展名)压缩文件,可以使用相应工具 bzless 和 xzless 来查看其内容。

    25120
    领券