正则表达式查找以/ *开头的行

时间:2012-11-27 08:22:42

标签: php regex preg-match-all

我需要一个正则表达式来查找以/*

开头的所有行
$num_queries =  preg_match_all(
    'REG_EXP',
    file_get_contents(__DIR__ . DIR_PLANTILLAS . '/' . 'temp_template.sql')
);

我试试这个'^\/\*.*',但它不起作用。

3 个答案:

答案 0 :(得分:1)

如果您在preg_match()函数中使用此字符串:/^\/\*.*/,它将起作用。此模式与/*匹配,后跟可能某些文本 确保将在每一行上执行正则表达式。我建议您先用换行符拆分字符串(文件内容)。您可以使用函数preg_split()来执行此操作。

如果您不想先按行分割文件内容,则可以使用以下模式:/(^|\n)\/\*(.*)/。该模式首先匹配字符串的开头或换行符,然后是/*,然后是可能一些文本。

请注意,在模式/^\/\*.*//(^|\n)\/\*(.*)/中,/用作分隔符。这意味着必须逃避/的进一步发生。

答案 1 :(得分:0)

试试这个。

^\/\*+[^\n]*$

编辑:纠正重新转移/

答案 2 :(得分:0)

请注意,您处理的是多行内容,但^表示内容的开头,而不是行的开头。 试试(\/[^\r\n]+)[\r\n$]+