notepad++ Regex替换连字符



我有一个HTML, alt标签是这样的格式:

alt="something-nice-and-beautiful"

如何将所有连字符-替换为alt标记之间的空格?

我还在想这个问题。我的第一反应是使用这个作为搜索

(alt="[^"]*?)-(.*?")

,然后用1 2代替。每次你运行它,它会用一个空格替换一个连字符,只是继续做替换所有,直到没有匹配。我可能会想出一个更优雅的解决方案,如果我想得更多,但这是可行的。

在源表达式中(确保启用.*正则表达式按钮)。由于这不能与单个表达式一起工作,因此我将这样做(当然,假设您的标记最多具有可管理的长度!)

寻找:

(?<=alt=")(w+)-(?=")

替换为:

$1

然后再次搜索/替换,添加(w+)-:

(?<=alt=")(w+)-(w+)-(?=")
$1 $2

:

(?<=alt=")(w+)-(w+)-(w+)(?=")
$1 $2 $3

(?<=alt=")(w+)-(w+)-(w+)-(w+)(?=")
$1 $2 $3 $4

添加额外的单词,以确保所有的标签都被替换。

最新更新