簡體   English   中英

PHP正則表達式:括號內的字符串

[英]PHP Regular Expression: string from inside brackets

我有一個字符串:

$a = "Name[value]";

如何從字符串中將字符串的“名稱”和“值”部分轉換為變量? 我在正則表達式方面不怎么好。 謝謝!

因此,這應該為您解決問題:

(.*)\[(.*)\]

這是PHP語法:

<?php
$subject = "Name[value]";
$pattern = '/(.*)\[(.*)\]/';
preg_match($pattern, $subject, $matches);
print_r($matches);
?>

輸出:

Array
(
    [0] => Name[value]
    [1] => Name
    [2] => value
)

請享用。

<?php

/**
 * Regex Quick Extraction - ignore $matches[0];
 */

$a = "Name[value]";

preg_match('/([^\]]*)\[([^\]]*)\]/',$a,$matches);

if(count($matches) > 0) {
    print_r($matches);
}

?>

嘗試這個:

 <?php
$a = "Name[value]";
preg_match('/(?<name>.*?)\[(?<value>.*[^\]]+)/', $a, $matched); 
 echo '<pre>'; 
 print_r($matched);
?>

輸出:

Array
(
    [0] => Name[value
    [name] => Name
    [1] => Name
    [value] => value
    [2] => value
)

暫無
暫無

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

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