匹配数字,但排除方括号内的数字



我正在使用PHP。我有以下类型的字符串:

3-5
8[4]-10
14-21[5]
1[5]-12[2]

我试图找出一个正则表达式来捕获,只有方括号之前的数字和排除数字(和括号)方括号内的,以便得到的字符串简单地为:

3-5
8-10
14-21
1-12

经过多次尝试后,我不明白如何编写一个排除匹配的正则表达式。

$bracketsRemoved = preg_replace('/[d+]/', '', $numbersWithBrackets);

您可以使用preg_replace()来去掉这些括号。

// The string
$bracketedString = '19-4[5]';
// Remove brackets
$bracketless = preg_replace('/[d+]/', '', $bracketedString);
/.../ - The regexp
[ - The escaped opening bracket
d+ - Numeric values
] - The escaped closing bracket
资源

    preg_replace() - Manual

最新更新