regex - 如何使用正则表达式在字符串中用单引号替换双引号?
问题描述
我有一个页面,其中包含//script[@data-type="application/ld+json"]
此脚本的内容类似于以下内容。
<script>
{
"one": "some text here",
"two": "some "other" text here"
}
</script>
是否可以使用正则表达式用单引号替换双引号,所以我有:
"two": "some 'other' text here"
或者只是完全删除内部引号
我可以使用该replace
功能
主要问题是我不知道如何只匹配字符串内的引号。
解决方案
一般来说,它无法完成,因为您的内容不明确。考虑:
{
"one": "some text here",
"two": "some ", "three": " text here"
}
您将不得不采用一些规则,例如说如果后跟或(可选地以空格开头),则将"
aftersome
视为终端引号,否则将其视为嵌套字符串的起始引号。这种逻辑似乎远远超出了你可以用正则表达式表达的东西。无论如何,它有时会给你错误的答案。,
}
推荐阅读
- python - 过滤数据框中小时间隔的时间本地化索引
- c# - 无法删除该对象,因为在制作 crud 时在 ObjectStateManager 中未找到该对象
- javascript - 使用 every() 检查一个数组是否包含另一个数组的所有元素
- haskell - 为匹配 Haskell 中的空字符串的正则表达式编写一个返回 true 的函数
- javascript - 在 ember Handlebars 中使用每个
- python-3.x - 如何使用 Plotly 在 Databricks 中呈现图表?
- swift - 使用 RxSwift 处理键盘WillHide
- java - 如何为 zopfli 压缩的 png 充气
- python - Jupyter 选项卡自动完成的困难
- ansible - Ansible:覆盖角色默认值