2012-11-27 42 views
1

我需要一個正則表達式來找出所有以/*正則表達式來查找開始的行以/ *

$num_queries = preg_match_all(
    'REG_EXP', 
    file_get_contents(__DIR__ . DIR_PLANTILLAS . '/' . 'temp_template.sql') 
); 

開始我嘗試這個'^\/\*.*'線,但它不工作。

回答

1

如果你使用這個字符串:/^\/\*.*/preg_match()功能,它會工作。這種模式匹配/*後跟也許一些文字。
確保正則表達式將在每一行上執行。我建議你首先用換行符分割字符串(文件內容)。您可以使用功能preg_split()爲了這樣做。

如果您不想先按每行分割文件內容,則可以使用以下模式:/(^|\n)\/\*(.*)/。該模式首先匹配字符串的開頭或換行符,然後是/*,然後是,也許一些文本。

請注意,在/^\/\*.*//(^|\n)\/\*(.*)/的模式中,使用/作爲分隔符。這意味着/的進一步發生必須逃脫。

+0

最後我用這個:/(^|\n)\/\*(.*)/它工作正常。謝謝。 – alsanal

0

試試這個。

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

編輯:校正重新逃避/

+0

開始和結束分隔符怎麼樣? –

+0

@mmmshuddup是的。糾正。 – garyh

0

請注意,你處理多行內容,但^意味着內容的開始,而不是行的開始。 嘗試(\/[^\r\n]+)[\r\n$]+