regex - REGEX - 如何用包含在双引号中的单词本身替换冒号之前的单词
问题描述
我有一个像这样的“json”:
{
example:"hi there",
dateTime: "01/01/1970 bla:bla"
}
我应该替换冒号之前的所有值,将它们包含在双引号中。
在 ruby 中引用此响应正则表达式以将单词括起来:用双引号,我尝试了代码,但还没有完全正确,因为它还更改了 dateTime 中冒号之前的值。
所以我应该添加到这段代码
(\w+)(?=:)
另一个控件,看看这个词是否就在逗号之后。
我想将“json”更改为真正的 json,如下所示:
{
"example":"hi there",
"dateTime": "01/01/1970 bla:bla"
}
而不是像现在这样:
{
"example":"hi there",
"dateTime": "01/01/1970 "bla":bla"
}
解决方案
这是选择所有属性并替换的解决方案(查看演示):
对于所有大小写字母:
/(?:[a-z]+(?=:[" ]))/ig
对于字母数字和下划线:
/(?:[\w]+(?=:[" ]))/g
演示:
https://www.regextester.com/?fam=107535
?:
用于创建没有反向引用的组。因此,提高了计算速度,因为它不必记住要重用的组。
推荐阅读
- python - 根据pyspark中第一行的值填充后续的空值
- c# - 从代码隐藏设置 HTML5 可拖动属性不起作用?
- react-native - react-native-maps 使用哪个 api 以及它的成本如何?
- javascript - 用控制台中的 jquery 字符串替换 youtube 上的 favicon
- laravel - 在 cPanel 上设置 Laravel 项目
- python-3.x - Youtube Api 更新 publishAt TypeError python
- spring-boot - 无法使用邮递员请求调试 Spring Boot 应用程序
- html - 如何让制表符换行到 HTML 中的下一行?
- python - Tkinter Treeview 小部件上的右键单击菜单
- c# - 理解 - 尝试获取锁时发现死锁;尝试重启事务