Match digits but exclude digits within square brackets
我正在使用PHP。我有以下类型的字符串:
1 2 3 4 | 3-5 8[4]-10 14-21[5] 1[5]-12[2] |
我正试图找出一个regex,只捕获方括号前的数字,并排除方括号内的数字(和方括号),这样得到的字符串将只是:
1 2 3 4 | 3-5 8-10 14-21 1-12 |
经过许多诱惑之后,我不明白如何编写一个不包含匹配项的正则表达式。
你可以用
1 2 3 4 5 6 7 8 9 10 | // 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()-手动