繁体   English   中英

单词 null 或双引号中的字符串的正则表达式

[英]Regex for either the word null, or a string in double quotes

我正在搜索 JSON 格式的文本块。 另一种方式可能更容易做到这一点,但我正在寻找这是否可能。 我在PHP 7.x中使用preg_match_all() ,但这更像是一个正则表达式问题。

有时文本中的字符串是这样的“something”:“a string, here”,而其他时候是这样的“something”:null, .

对于第一种情况,这将起作用......

/"something":"([^"]*)",/

对于第二种情况,这将起作用......

/"something":null,/

或者

/"something":([^,]*),/

有没有办法在同一个正则表达式中匹配这两种情况?

像这样的东西是行不通的...

/"something":"?(null|[^"]*)?"?,/

并且字符串中可以有逗号,这不起作用......

/"something":(null|[^,]*),/

有谁知道这是否可能? 谢谢。

您使用 PHP 的事实至关重要,因为您可以使用

"something":(?|"([^"]*)"|(null)),

请参阅正则表达式演示

详情

  • "something": - 文字字符串
  • (?|"([^"]*)"|(null)) -分支重置组" ,组 1:除"之外的任何零个或多个字符,然后是"null字符串也捕获到组 1
  • , - 一个逗号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM