使用正则表达式从字符串中查找当前计数和总计数

时间:2012-12-19 19:51:32

标签: php regex preg-match

我有一个包含大量信息的字符串,包括总计数和当前计数。我想使用正则表达式和php来匹配[001/100](001/100)

  • 它可以用括号或括号括起来。
  • 括号内可能还包含空格或括号( 001/100)
  • 分隔符也可以是:|

我想忽略括号或括号内的所有空格,数字可以是任何digets。

我计划使用preg_match_all。我正在努力弄清楚正则表达式。

preg_match_all('/[\(\[](\d+)[\:\|](\d+)[\)\]]/' $tmp, $matches);

2 个答案:

答案 0 :(得分:3)

这应该对你有用,但允许混合括号和方括号。

[([]\s*(\d+)\s*[/:|]\s*(\d+)\s*[)\]]

答案 1 :(得分:0)

preg_match_all('@
   [([] #open paren or brace
   \s* #0 or more spaces
   (\d+) #capture the first number
   \s*
   [:/|] #delimeter
   \s*
   (\d+) #capture the second number
   \s*
   [)\]] #capture the closing paren or brace
@x', $string, $matches);