使用正则表达式在方括号之间查找值

2022-03-29 00:00:00 regex php preg-match

我想找出方括号内的值。假设我有一个这样的字符串

$str = "This is a test string. I want to get value between [this] and [/this]";
所以,为了解释清楚,我想找出[this][/this],然后找出它们之间的‘and’。我在这里找到了一些关于找到方括号内的值的线索,但这不完全是我的情况,它也没有帮助。正则表达式对我来说就是希伯来语,如果你明白我的意思的话。


解决方案

您可以使用以下正则表达式

[.*?][^]]*]

DEMO

您的代码将是

<?php
$str = "This is a test string. I want to get value between [this] and [/this]";
$regex = '~[.*?][^]]*]~';
if (preg_match($regex, $str, $m)) {
    $yourmatch = $m[0]; 
    echo $yourmatch;
    }
?> //=>  [this] and [/this]

相关文章