这是一个很好的解决方案在这里与面具例如匹配IP 192.168.0.1/24。我添加了来自https://regex101.com/的建议来转义斜杠,它看起来像这样:
((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}\/(?:\d|[12]\d|3[01])$
这绝对适用于 regex101。
它需要存在于 json 文件(jsonschema 文件)中,但似乎包含一些非法内容。不能制定出它是什么,已经看过这个,这个,这个和使用的建议ujson而不是JSON(在python)也尝试过这里,但没有任何作品。
包含该正则表达式的以下 jsonschema 片段:
{
"comment": "ipv4 with a mask",
"data": {
"network": {
}
},
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ipv4 with a mask",
"type": "object",
"properties": {
"subnet": {
"title": "subnet",
"type": "string",
"pattern": "((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}\/(?:\d|[12]\d|3[01])$"
}
}
}
}
...不幸的是甚至不会解析。Python 说:
JSONDecodeError: Invalid \escape: line 16 column 33 (char 380)
我一直在使用库fastjsonschema来检查这些东西,但甚至无法解析 json 并做到这一点。
有谁知道如何解决这个问题,以某种方式让那段正则表达式在 jsonschema 中运行?
RISEBY
相关分类