regex - "null"字符串和空字符串的 Json Schema 验证

标签 regex

我正在尝试为 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/

    相关文章:

    python - 在 Python 中找出一个正则表达式在字符串中匹配的次数

    java - <pre> 标记之间的文本在使用正则表达式 Java 时不保留换行符

    regex - 具有两个值的 Shell 脚本变量赋值(正则表达式)

    regex - 使用正则表达式在 PhpStorm 中查找/替换

    json - jq:如何根据子字符串匹配更新值?

    java - 字符范围和空格的正则表达式

    regex - 删除带括号的子表达式

    javascript - 如何避免正则表达式\r\n 被 BigCommerce 编辑器忽略?

    javascript - jQuery 中的正则表达式 : numbers within brackets

    regex - 为什么带星号的正则表达式会结束?总会有空火柴