2014-05-20 64 views
0

這裏是正則表達式的新手! :d如何匹配單詞和empy字符串

我不得不匹配字符串 「的東西在這裏」 在這個例子中:

DATA [東西在這裏]

SOMETHINGHERE可以是NULL(DATA []),我必須也匹配它。 SOMETHINGHERE可以任何東西,回車和換行符包括

+0

你嘗試過這麼遠嗎?發佈一些代碼,以便我們可以看到您至少嘗試了您的問題,然後我們可以指導您出錯的位置。 – ovaltein

+0

@Kelix我試過\ [DATA \ [(。+)]]但它不匹配NULL字符,cr和lb。 – Kintaro

回答

0

你可能會尋找DATA\[(.*)\],其中 \[轉義字符[.是任意字符和.*在這裏是指可以零個或多個任意字符。

編輯

我沒能測試它,我確信它會工作,直到我注意到this

的點與單個字符匹配,而不關心是什麼性格是。唯一的例外是換行符。在本教程討論的所有正則表達式中,缺省情況下點不匹配換行符。

這個例外主要是因爲歷史原因。使用正則表達式的第一個工具是基於行的。他們會逐行讀取文件,並將正則表達式分別應用於每行。其效果是,對於這些工具,字符串不能包含換行符,因此點無法匹配它們。

所以.比賽幾乎所有字符(不包括CR和LF)。所以,你可以使用這個:

DATA\[([^a]*[a]*)*\] 

這正是:匹配字符,這不是「a」或「A」(你可以在這裏使用任何字符)

+0

魔法* !!! :D 仍然回車和換行 – Kintaro

+0

@金太郎看到我最後的編輯,我找到了一種方法 – kamil09875

相關問題