如何根据文本而不是行号在 HTML 文件中搜索和替换标签文本

如何根据文本而不是行号在 HTML 文件中搜索和替换标签文本

如何搜索带有 HTML 标签的字符串

< link type="text/css" rel="stylesheet" 
                href="https://teststore.xxxx.com/gwtstore.css"> 

index.html文件中并将其替换为

<link type="text/css" rel="stylesheet" 
                href="https://testsstore.xxxx.com/gwtstore.css">

注意:我只想'S'在测试商店之间插入。

我确实使用 perl 语法实现了这一点

perl -i -p -e 's/teststore/testsstore/ if ($. == 28 || $. == 41)' index.html

我唯一担心的是如果 index.html 文件发生变化,那么行号也会发生变化。我不希望我的脚本退出。相反,我需要一种基于文本字符串而不是行号进行搜索的方法。

知道如何实现这一点吗?简要说明一下将会非常有帮助。

答案1

您可以使用“正则表达式”或简称“Regex”来实现您想要的内容。使用它们,您可以搜索某些文本模式并对其进行修改。它就像一种特定的语言,旨在解决字符串解析中主要使用的“模式匹配”和“查找和替换”问题。

Perl 实际上非常强大,因为它们集成在语言本身中。

您可以在此处找到概述http://www.troubshooters.com/codecorn/littperl/perlreg.htm

如果你更喜欢一本书:http://regex.info/ (它也涵盖其他编程语言,但主要涵盖 perl)

此外,由于这是一个编程主题,您可能需要访问 stackoverflow.com 并查看是否有人在那里问过类似的问题。

相关内容