我需要在任何 html 页面上的任何类声明中找到所有出现的“st”,例如:
class="st0 st1 st2", class="st3 st45", class="st678"
我在类声明中说是因为整个文档中可能还会出现其他“st”,我不想更改每一个出现的地方。
我的最终目标是查找和替换。我为此编写了逻辑,但我只需要弄清楚如何将“st”与字符串隔离开来。
我已经尝试了一些不同的环视表达式,但我似乎无法匹配每一次出现。以下是我一直在尝试的一些示例。
此表达式获取 'class="' 和 '"' 之间的所有内容:
正则表达式:
(?<=class=").*(?=")
测试刺:
class="st10 st11"
匹配结果:
"st10 st11"
这是我尝试的另一个:
正则表达式:
(?<=class=")((st)\d*\s*)*(?=")
测试刺:
class="st10 st11"
匹配结果:
"st10 st11"
匹配组:
- st11
- 英石
从评论中添加
我将在终端 shell 命令中使用正则表达式,我将在特定文件夹上运行该命令。shell 命令将对文件夹中的每个文件进行查找和替换,如下所示...
perl -pi -w -e 's/st/stx/g;' ~/Desktop/svg_find_replace/*.svg.
任何帮助将非常感激。