簡體   English   中英

如何匹配包含任意字符串的正則表達式,並使用PHP僅將該任意字符串轉換為變量?

[英]How to match a regular expression that contains an arbitrary string, and get only that arbitrary string into a variable using PHP?

我試圖用PHP編寫一種非常簡單的標記語言,其中包含[x = 123]之類的標記,並且我需要能夠匹配該標記並僅提取x的值。

我假設答案涉及正則表達式,但也許我錯了。

因此,如果我們有一個字符串:

$str = "F9F[x=]]^$^$[x=123]#3j3E]]#J";

和一個正則表達式匹配:

/^\[x=.+\]$/

我們如何只將匹配字符串的“。+”部分放入變量中?

您可以使用preg_match在字符串中搜索正則表達式。

在此處查看文檔: http : //www.php.net/manual/en/function.preg-match.php ,以獲取有關如何使用它的更多信息(以及一些示例)。 您可能還想看看preg_grep

以下代碼應為您工作:

$str = "F9F[x=]]^$^$[x=123]#3j3E]]#J";
if (preg_match('~\[x=(?<valX>\d+)\]~', $str, $match))
   echo $match['valX'] . "\n";

輸出:

123

暫無
暫無

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

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