我正在尝试为 json 模式验证器编写一个正则表达式,它应该接受除“null”(空字符串)和空字符串之外的任何文本。我实现了其中之一,但不是两个。有没有办法将两者结合起来?
^(?!\\s*$).+
^((?!(NULL)).)*$/i
最佳答案
您可以使用
^(?![nN][uU][lL]{2}$)\s*\S.*
见 regex demo .
正则表达式匹配:
^
- 字符串开头 (?![nN][uU][lL]{2}$)
- 整个字符串不能是 null
(不区分大小写)\s*
- 0+ 个空格 \S
- 单个非空白字符 .*
- 任何 0+ 个字符。 用法示例:
{
"type": "string",
"pattern": "^(?![nN][uU][lL]{2}$)\\s*\\S.*"
}
此外,如果不需要整个字符串匹配,只需使用
"pattern": "^(?![nN][uU][lL]{2}$)\\s*\\S"
.
关于regex - "null"字符串和空字符串的 Json Schema 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52510878/