Regex获取文件扩展名-LUA



输入:file.exe
结果:exe

输入:xyz.pdf
结果:pdf

测试用例:我想选择文件扩展名我尝试了正则表达式.[^.]+$

然而,对于上面的regex,(.(点也会被选中,例如[.]pdf,[.]exe。我如何否定这个点?

您可以使用positive lookbehind assertion,这意味着正则表达式会检查.是否存在,但不会将其作为匹配的一部分捕获。

试试这个:

import re
m = re.search(r'(?<=.)[^.]+$', 'file.pdf')
print(m.group(0))

输出:

pdf

只需删除第一个.部分,如下所示:

[^.]+$

输入:xyz.pdf结果:pdf

您可以只使用.replacement((

如下所示:

result =result.replace('.','')

讨厌但会工作

使用.([^.]+)$,然后使用您正在使用的任何食堂系统的组选择机制来选择第一组。通常,第0组是整个图案,包括本例中的点,而第一组(又名1st(是括号中的第一个图案。

您应该在要选择的项目周围使用((来创建组,然后您只能选择组。在python中,它看起来像这样:

value = re.search('.([^.]+)$', 'file.pdf').group(1)

使用支持regex查找/替换的各种工具在多个文件中进行替换实际上非常酷。例如,要交换文件名中的前两个字符,一个有效的正则表达式将如下所示:

^(.)(.)(.*)$

对于替换正则表达式,您将拥有:

213

在一些查找替换对话框中,组被定义为\1,在另一些对话框中被定义为$1。

最新更新