我有一个长的文本,这是其中的一部分:“放置”:1,“协议”:2,3,5,6},“安全”:1
我需要提取协议列表,结果只有2,3,5,6。
我使用的是REGEXP_EXTRACT(文本,r‘“协议”:(^“+)’),但是结果总是不同的:有时只有2,3,5,6,有时需要更多: 2,3,5,6},
如何构建我的REGEXP,以便结果总是只有括号中的列表?
发布于 2020-12-06 11:10:14
您可以使用
REGEXP_EXTRACT(text, r'"protocols"\s*:\s*(\[[^][]+])')
见regex演示
要获得不带括号的protocols的内容,请将分组边界移到内部:
protocols
REGEXP_EXTRACT(text, r'"protocols"\s*:\s*\[([^][]+)]')
见这个regex演示。
详细信息
"protocols"
\s*:\s*
\[
[
[^][]+
]
https://stackoverflow.com/questions/65166505
相似问题