正则表达式和文件名通过删除除最后一个匹配项之外的点并忽略第一个字符来更改

标签 regex

我正在使用 python3,我正在尝试正确使用文件重命名器。 我使用带有前瞻功能的正则表达式来匹配除最后一个点之外的点:

\.(?=.*\.)

这似乎工作正常,我用破折号替换点。所以:

some.other.file.is.here.txt ##=> some-other-file-is-here.txt

但是我忘记了隐藏文件!类似的东西

.passwords

变成了

-passwords

我一直试图让正则表达式忽略任何第一个字符,但我不明白。

请帮忙。

最佳答案

试试这个:

(?<=\w)\.(?!\w+$)

演示:https://regex101.com/r/CRp3b0/4

(?<=\w) - 积极看待背后.后面跟着单词字符。

(?!\w+$) - 负面展望.后面没有最后一个词。

关于正则表达式和文件名通过删除除最后一个匹配项之外的点并忽略第一个字符来更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670044/

相关文章:

c# - 正则表达式打印换行符 C#

python - 在正则表达式中的字符之后开始匹配

python - 如何让 groupby() 组在条件下加倍?

java - 正则表达式 30 个数字 + 空格 + 连字符 + 空格 1 个数字

java - 在Java中使用正则表达式提取双引号之间的子字符串

php - 验证输入是否采用此时间格式 - "HH:MM"

Python正则表达式问题

c# - 用于捕获括号中数字的正则表达式

c# - 关于python正则表达式的两个问题

python - 使用正则表达式删除单词中的空格 - 用于文本挖掘的预处理数据