我正在研究 JSON 模式模式以排除字符串中的数字和特殊字符,这是我现在拥有的:
"properties": {
"applicationName": {
"description": "TPG Application Name",
"type": "string",
"pattern": "[^0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]"
},
这没有按预期工作,例如它不允许空格。
输入 JSON:
{
"applicationName": "TestName",
}
最佳答案
根据 "[^0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]"
判断pattern,你想匹配除数字、空格和特殊字符(标点符号和符号)之外的任何字符。此处,无法匹配空格,因为 \s
出现在否定字符类中,并且模式部分匹配,即它将验证包含字符集中列出的字符以外的任何字符串。 ?a!
将匹配,因为有 a
,例如
最简单的解决方案是匹配字母和空格,从字符串的开始到结束:
"^[A-Za-z\\s]*$"
详情
-
^
- 字符串开始 -
[A-Za-z\\s]*
- 0+ 个字母或空格 -
$
- 字符串结束。
关于regex - Json 模式模式排除字符串中的数字和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48619661/