PHP正则匹配反斜杠''和美元'$'
程序员文章站
2023-12-27 15:16:39
...
$content = '1111111<td>2222222<\/td>3$';
//' \\\\\/ ' 第1个'\'转义字符串的第2个'\',字符串为'\'
//第3个'\'转义第4个'\',相当于 字符串 '\'
//第5个'\'转义第4个'/',相当于 字符串 '/'
//字符合起来为'\\/' 两个'\\' 正则表达式看做'\'
$pattern = '/<td>([0-9]{7,})<\\\\\/td>\d\\$$/';
上面方法out了,使用\Q \E,具体东西看评论
//' \\\\\/ ' 第1个'\'转义字符串的第2个'\',字符串为'\'
//第3个'\'转义第4个'\',相当于 字符串 '\'
//第5个'\'转义第4个'/',相当于 字符串 '/'
//字符合起来为'\\/' 两个'\\' 正则表达式看做'\'
$pattern = '/<td>([0-9]{7,})<\\\\\/td>\d\\$$/';
上面方法out了,使用\Q \E,具体东西看评论
1.test.php
<?php $content = '1111111<td>2222222<\/td>3$'; //'\\\\\/' 第1个'\'转义字符串的第2个'\',字符串为'\' //第3个'\'转义第4个'\',相当于字符串'\' //第5个'\'转义第4个'/',相当于字符串'/' //字符合起来为'\\/' 两个'\\' 正则表达式看做'\' $pattern = '/<td>([0-9]{7,})<\\\\\/td>\d\\$$/'; $result = preg_match_all($pattern, $content, $match_result); if($result) print_r($match_result); else echo("not match");
2.php代码
$content = '1111111<td>2222222<\/td>3$'; $pattern = "!<td>(\d{7,})<\Q\/\Etd>\d\Q$\E!"; $result = preg_match_all($pattern, $content, $m); if($result) print_r($m); else echo("not match");
3.output.txt
Array ( [0] => Array ( [0] => <td>2222222<\/td>3$ ) [1] => Array ( [0] => 2222222 ) )