mysql - 正则表达式匹配复杂子字符串
问题描述
我有一个存储在 MySQL 中的 json,我想使用正则表达式查找匹配项。我试图通过使用 REGEXP 而不是 LIKE 构建查询来实现这一点。
{"type":"4","Record channels HDCVI":{"1":"4","3":"16"},
"Supported standarts HDCVI DVR":{"0":"HDCVI","2":"IP","3":"AHD","4":"Analog"},
"Record resolution HDCVI DVR":{"1":"FullHD 1080p"},
"HDD amount":{"1":"2","2":"4"},
"Specs HDCVI DVR":{"0":"2x HDMI","1":"TV-out","2":"Videoanalytics","3":"eSATA","5":"RS-485"}}
例如,我需要用 4 个记录通道 HDCVI 获取所有记录。
所以,我的想法是寻找这样的子字符串:
"Record channels HDCVI":{" ... :"4" ... "}
并且应该有占位符,而不是三个点,就像任何数量的任何字符但是这个表达式应该在第一个匹配结束大括号时停止。
这会选择子字符串,直到 HDD 数量部分下的最后 4"}。无法弄清楚。
/Record channels HDCVI.+"4"}/g
解决方案
你应该做这个:
/"Record channels HDCVI:{[^}]+:"4"/g
推荐阅读
- javascript - Reactjs:单击时如何更改按钮样式
- inheritance - Solidity 继承:如何访问继承合约中的变量?
- php - 使用 coinbase php 库向外部发送比特币返回 422::Invalid amount
- excel - excel日期格式不会改变
- integration - 有没有人将 Kibana 与任何 IDS 集成?
- java - 如何转换收藏
> 进入字符串数组 - react-native - React-native:如何使用 AsyncStorage 存储输入值和数据?
- css - 如何重构 CSS Grid 以兼容 IE11
- android - 发现多个文件具有操作系统独立路径“mockito-extensions/org.mockito.plugins.MockMaker”
- jenkins - 如果其他工作在日志上显示特定字符串,詹金斯就会开始工作