簡體   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