正则表达式匹配每个字符和换行符

时间:2013-05-22 15:59:02

标签: php regex

我想使用正则表达式过滤一些数据。至于现在,我有一些文字超过2行,我试图使换行符与[^.*]匹配。但它似乎没有通过换行符,所以它与第二行的任何结果都不匹配。我怎样才能包含换行符?我试过像[^\n\r.*]这样的东西,但没有成功。

1 个答案:

答案 0 :(得分:2)

描述

您可以使用's'选项强制点匹配所有新行字符,或者如果您无法控制底层代码,则可以尝试:

([^.]|[.])

这将匹配每个角色。该点有时与回车符,新行不匹配。

PHP示例

<?php
$sourcestring="This is my.
super cool
test string";
preg_match_all('/([^.]|[.])/i',$sourcestring,$matches);
echo "<pre>".print_r($matches,true);
?>

$matches Array:
(
    [0] => Array
        (
            [0] => T
            [1] => h
            [2] => i
            [3] => s
            [4] =>  
            [5] => i
            [6] => s
            [7] =>  
            [8] => m
            [9] => y
            [10] => .
            [11] => 
            [12] => 

            [13] => s
            [14] => u
            [15] => p
            [16] => e
            [17] => r
            [18] =>  
            [19] => c
            [20] => o
            [21] => o
            [22] => l
            [23] => 
            [24] => 

            [25] => t
            [26] => e
            [27] => s
            [28] => t
            [29] =>  
            [30] => s
            [31] => t
            [32] => r
            [33] => i
            [34] => n
            [35] => g
        )

    [1] => Array
        (
            [0] => T
            [1] => h
            [2] => i
            [3] => s
            [4] =>  
            [5] => i
            [6] => s
            [7] =>  
            [8] => m
            [9] => y
            [10] => .
            [11] => 
            [12] => 

            [13] => s
            [14] => u
            [15] => p
            [16] => e
            [17] => r
            [18] =>  
            [19] => c
            [20] => o
            [21] => o
            [22] => l
            [23] => 
            [24] => 

            [25] => t
            [26] => e
            [27] => s
            [28] => t
            [29] =>  
            [30] => s
            [31] => t
            [32] => r
            [33] => i
            [34] => n
            [35] => g
        )

)