正则表达式查找带引号、分号和等于的值

标签 regex linux unix regex-negation

我的查询很简单,我的关注点也很简单,而且对 REGEX 很陌生。 我正在尝试将记录与双引号匹配。

Example :

This is my sample Record :

"eventType":"delete","ServerSerial":"1556562030","ServerName":"XYZ_U_O","deletedat":"2018-08-24 17:56:39.974"}


{"eventType":"delete","ServerSerial":"0","ServerName":"","deletedat":"2018-08-24 17:56:34.944"}

第一条记录是服务器序列号和服务器名称的有效记录,但第二条记录是无效的,服务器序列号为 0,服务器名称为空。

我要匹配第二条记录来消除记录。 我确实试过了,它与两条记录都匹配。

**^(?=.*?\bdelete\b)(?=.*?\bServerName\b).*$** 

以我的专业知识,我做不到。谁能帮我解决这个问题

最佳答案

将此添加为完整答案..

  • 只需搜索有问题的字符串的固定部分并将其用作前 anchor ,
  • 然后匹配到第一个大括号。
  • 根据要求,我添加了一个可选的逗号(如果不需要的数据出现在末尾)
{"eventType":"delete","ServerSerial":"0","ServerName":""[^}]+},?

Regex Demo

关于正则表达式查找带引号、分号和等于的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52065343/

相关文章:

javascript - 从 javascript 文件中去除注释

linux - Hadoop Streaming 没有正确编码字符

linux构建系统工具

linux - 如何在启动时运行 shell 脚本

c - cat 命令中的 "-u"选项有什么用?

unix - 命令行管道输出到下一行的命令

ruby - 使用 Ruby 正则表达式处理空格的问题

mysql - 如何从电子邮件中选择@domain并使用mysql从另一个表中匹配

python - 在不移除拆分器的情况下拆分字符串

c - 如果 child 用 exec() 覆盖图像, parent 和 child 是否仍然共享信号控制?