我正在使用JSON架构模式来排除字符串中的数字和特殊字符,这就是我现在所拥有的:
"properties": {
"applicationName": {
"description": "TPG Application Name",
"type": "string",
"pattern": "[^0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]"
},
这不符合预期,例如它不允许空白。
输入JSON:
{
"applicationName": "TestName",
}
答案 0 :(得分:3)
根据"[^0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]"
模式判断,您希望匹配除数字,空格和特殊字符(标点符号和符号)之外的任何字符。这里,空格无法匹配,因为\s
存在于否定字符类中,并且模式部分匹配,即它将验证包含除集合中列出的字符之外的字符的任何字符串。 ?a!
会匹配a
,例如
最简单的解决方案是匹配字母和空格,从字符串的开头到结尾:
"^[A-Za-z\\s]*$"
<强>详情
^
- 字符串开头[A-Za-z\\s]*
- 0+个字母或空白$
- 字符串结束。