<script type="application/ld+json">
我想删除所有以 开头和结尾的行</script>
例如:
<script type="application/ld+json">
{
"@context":"https://schema.org",
"@type":"Article",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://neculaifantanaru.com/en/qualities-of-a-leader.html"
},
"headline": "Stiri stiintifice si tehnologice ",
"keywords": "stiri, stiintifice, tehnologice ",
"description": "Trebuie sa ai multe calitati de lider",
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="author" content="Redacción">
<link rel="canonical" href="https://neculaifantanaru.com/en/qualities-of-a-leader.html",
"author": "admin",
"image": {
"@type": "ImageObject",
"url": "https://neculaifantanaru.com"
},
"datePublished": "2021-07-05T08:00:00+08:00",
"dateModified": "2021-07-05T08:00:00+08:00",
"author": {
"@type": "Person",
"name": "Neculai Fantanaru"
},
}
</script>
我不知道为什么我的正则表达式不起作用。我制作了一个正则表达式模型,并用我的标签替换:
(?<=FROM HERE).*?(?=TO HERE)
因此,我的正则表达式变成:
寻找:(?<=<script type="application/ld+json">).*(?=</script>)
有没有人有更好的解决方案,或者可以用更好的版本更新我的正则表达式?
替换为:(leave empty)
答案1
您可以使用:
^<script type="application/ld\+json">.*?</script>$
变化:
- 转义
+
-d+
表示一个或多个d
且不+
匹配 - 改为
.*
非贪婪,.*?
以确保只匹配同一对标签之间的内容,以防有更多标签 - 添加
^
以匹配行首和$
行尾,因为您提到这是要求
您需要在启用“匹配换行符”选项的情况下运行它。
答案2
- Ctrl+H
- 找什么:
FIRST-PART[\s\S]*?(SECOND-PART)[\s\S]*?
- 用。。。来代替:
LEAVE EMPTY
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
因此,在这种情况下,正则表达式必须是:
<script type="application/ld\+json">[\s\S]*?(</script>)[\s\S]*?
答案3
短篇小说——添加反斜杠\+
。
(?<=<script type="application/ld\+json">).*(?=</script>)
您可能还想使用匹配的标签:
<script type="application/ld\+json">.*</script>
因此,您需要执行以下步骤:
- Ctrl+H
- 找什么:
<script type="application/ld\+json">.*</script>
- 用。。。来代替:
NOTHING
- 勾选环绕选项
- 搜索模式:正则表达式
- 勾选.匹配换行符选项
- 点击Replace All(风险自负)
附加信息:
我确信您知道 - 以下字符在正则表达式中有特殊含义(例如+
):
., +, *, ?, ^, $, (, ), [, ], {, }, |, \.
要匹配正则表达式中具有特殊含义的字符,您需要使用带有反斜杠的转义序列前缀(\)
。RegEx\.
匹配“。”;RegEx\+
匹配“+”,RegEx\(
匹配“(”。
您还需要使用正则表达式\\
来匹配\
(反斜杠)。