在php中创建正则表达式

时间:2014-10-15 19:46:56

标签: php regex

我的尝试

preg_match("/^logs.\d{24}.\d{24}.{4}$/", $input_line, $output_array);
If matched return \d{24} in echo

字符串

logs/532523532543353444444444/532523532543353444444444.log

Preg match peseudo-code:logs/{24 digitals}/{same24digits}.log

两个\d{24}都是相同的数字

问题如何获得:如果匹配则返回\ _ {24} in echo

2 个答案:

答案 0 :(得分:2)

您可以使用:

if (preg_match('~^logs/(\d{24})/\1\.log$~', $input_line, $m))
   echo $m[1];

\1我对第一个被捕获群体的反向引用,即(\d{24})

Code Demo

答案 1 :(得分:2)

logs\/(\d{24})\/\1.log

看演示 http://regex101.com/r/hU0uS6/1