我的查询很简单,我的关注点也很简单,而且对 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":""[^}]+},?
关于正则表达式查找带引号、分号和等于的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52065343/