gpt4 book ai didi

正则表达式查找单引号之间的空格并用下划线替换

转载 作者:行者123 更新时间:2023-12-04 21:05:36 25 4
gpt4 key购买 nike

我有一个已导出的数据库表。我需要用空格替换图像文件名,并希望使用 notepad++ 和 regex 来执行此操作。我有:

'data/green tea powder.jpg'
'data/prod_img/lumina herbal shampoo.JPG'
'data/ALL GREEN HERBS.jpeg'
'data/prod_img/PSORIASIS KIT (640x530) (2).jpg'

并且需要让它们看起来像这样:
'data/green_tea_powder.jpg'
'data/prod_img/lumina_herbal_shampoo.JPG'
'data/ALL_GREEN_HERBS.jpeg'
'data/prod_img/PSORIASIS_KIT_(640x530)_(2).jpg'

我只想更改引号之间的空格(我不想更改大小写)。更具体地说,我想替换 'data/和 ' 之间的所有空格,因为数据库中的引号之间还有其他空格,例如:
'data/ REPLACE ANY SPACE HERE '

我找到了这个:
\s(?!(?:[^']*'[^']*')*[^']*$)

但还有其他地方引号之间有空格,所以我想搜索 data/在beging中,而不仅仅是一个单引号,但我不知道如何。我试过 \s(?!(?:[^'data\/]*'[^']*')*[^']*$)但它没有用,我对正则表达式不够熟悉,无法做到这一点。

数据库中完整行的示例是:
(712, 'GRTE-P', '', 'data/green tea powder.jpg', '2014-03-12 22:52:03'),

我不想替换行尾的时间和数据戳中的空格,只替换图像文件名。

在此先感谢您的帮助!

最佳答案

您必须使用 \G基于模式以确保匹配是连续的。

搜索:(?:\G(?!^)|'data/)[^' ]*\K[ ]替换:_
第一个匹配使用交替的第二个分支,然后下一个匹配是连续的并使用第一个分支。

关于正则表达式查找单引号之间的空格并用下划线替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47065992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com