我需要使用 RegEx 为请求参数设置验证规则。该规则不应允许除 json 的(“{}”、“[]”、“:”)之外的无效字符。
例如:
"Piece" -> correct
"Piece$%" -> incorrect
{"labelName": "myName"} -> correct
但是,我的 RegEx 不传递 json 格式输入。
[a-zA-Z0-9\s{}:\[]]+
回答1
你可以通过否定逻辑来实现你的检查。您可以查找任何不允许的字符,而不是查找允许的字符。如果您的 regex 找到任何匹配项,则 json 不一致。
此 regex 查找任何不是单词字符(字母或数字)、空格或 json 符号([、]、{、}、:、" 或逗号)的内容
[^\w\s\{\}\[\]\:\",]
这里有一个测试 regex 的链接。