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

时间:2016-07-04 08:07:38

标签: php regex

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

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

我正在试图找出一个正则表达式捕获只有方括号前的数字和排除数字(以及括号)在广场内括号,以便生成的字符串只是:

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

您可以使用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

资源