亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式不匹配兩個分隔符

正則表達式不匹配兩個分隔符

PHP
慕碼人8056858 2022-06-11 18:59:44
我有一個包含 URL、標題、描述的長字符串,如下所示:||url:foo||title:Books|Pencils||description:my description||數據總是以||如何匹配可能包含(如上例所示)但不包含兩個的標題( Books|Pencils)?|||我嘗試了這樣的規則(使用 php preg_match):#\|\|title:(.*)([\|\|])(.*)#
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

我猜,

(?<=\|\|title:).*?(?=\|\|)

可能只是這樣做。

正則表達式演示 1

如果你想得到另外兩個,

(?<=\|\|\burl:|\btitle:|\bdescription:).*?(?=\|\|)

正則表達式演示 2

測試

$re = '/(?<=\|\|\burl:|\btitle:|\bdescription:).*?(?=\|\|)/m';

$str = '||url:foo||title:Books|Pencils||description:my description||';


preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);


var_dump($matches);

輸出

array(3) {

  [0]=>

  array(1) {

    [0]=>

    string(3) "foo"

  }

  [1]=>

  array(1) {

    [0]=>

    string(13) "Books|Pencils"

  }

  [2]=>

  array(1) {

    [0]=>

    string(14) "my description"

  }

}

如果您希望簡化/更新/探索表達式,它已在regex101.com的右上角面板中進行了說明。如果您有興趣,可以在此調試器鏈接中觀看匹配步驟或修改它們。調試器演示了 RegEx 引擎如何逐步使用一些示例輸入字符串并執行匹配過程。


查看完整回答
反對 回復 2022-06-11
  • 1 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號