java - Regex 不接受除 JSON 大括号和冒号之外的无效字符

我需要使用 RegEx 为请求参数设置验证规则。该规则不应允许除 json 的(“{}”、“[]”、“:”)之外的无效字符。

例如:

"Piece" -> correct
    
    "Piece$%" -> incorrect
    
    {"labelName": "myName"} -> correct

但是,我的 RegEx 不传递 json 格式输入。

[a-zA-Z0-9\s{}:\[]]+

回答1

你可以通过否定逻辑来实现你的检查。您可以查找任何不允许的字符,而不是查找允许的字符。如果您的 regex 找到任何匹配项,则 json 不一致。

此 regex 查找任何不是单词字符(字母或数字)、空格或 json 符号([、]、{、}、:、" 或逗号)的内容

[^\w\s\{\}\[\]\:\",]

这里有一个测试 regex 的链接。

https://regex101.com/r/7pn2FD/2

相似文章

随机推荐

最新文章