簡體   English   中英

PHP的preg匹配找到字符串“”內的限制

[英]php preg match find string inside “ ” with limit

這是我的文字:

pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"

我需要找到472f257a40c653c64c666ce877d59d2b598f257a40c653c64c666ce877d59d2b

這些都在“之間。我只需要在”“之間的字符串,並且不超過32。

這是我的代碼:

preg_match_all('/"^(.*?){32}$"/mis', $get, $results);

您可以使用:"\\K[af\\d]{32}(?=")

說明

  • 匹配:"
  • 重置報告的比賽的起點\\K
  • 匹配字符從a到f以及從0到9 [af\\d]{32}
  • 斷言以下內容的積極前瞻是“ (?=")

例如:

$re = '/:"\K[a-f\d]{32}(?=")/';
$str = 'pagination},queryId:"472f257a40c653c64c666ce877d59d2b", val:"598f257a40c653c64c666ce877d59d2b"';
preg_match_all($re, $str, $matches);
var_dump($matches[0]);

這將導致:

array(2) {
  [0]=>
  string(32) "472f257a40c653c64c666ce877d59d2b"
  [1]=>
  string(32) "598f257a40c653c64c666ce877d59d2b"
}

輸出PHP示例

正則表達式"([a-z0-9]{32})"(?<=")[a-z0-9]{32}(?=")

$text = "pagination},queryId:\"472f257a40c653c64c666ce877d59d2b\", val:\"598f257a40c653c64c666ce877d59d2b\"";

preg_match_all("/\"([a-z0-9]{32})\"/", $text, $match);
print_r($match);

輸出

Array
(
    [0] => Array
        (
            [0] => "472f257a40c653c64c666ce877d59d2b"
            [1] => "598f257a40c653c64c666ce877d59d2b"
        )

    [1] => Array
        (
            [0] => 472f257a40c653c64c666ce877d59d2b
            [1] => 598f257a40c653c64c666ce877d59d2b
        )
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM