我有一段正在使用的Perl來解析包含Oracle數據庫中每個存儲過程的大型文本文件。它看起來像這樣:將perl正則表達式轉換爲Java
/create\s+(proc(edure)?|function)\s+\[*(dbo)?\]*\.*\[*(\w+)/i
雖然我不太熟悉Perl,所以理想情況下將它轉換爲Java。我試過通過一些轉換器運行它,它會產生:
"/create\\s+(proc(edure)?|function)\\s+\\[*(dbo)?\\]*\\.*\\[*(\\w+)/i"
但是,這似乎不符合任何正確的輸入。任何人都可以給我一些指針,正確地將其轉換爲Java?
樣本數據:
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE AddNewTc
@TCN NVARCHAR(100),
@TCM NTEXT,
@TCOLE IMAGE = NULL,
@BYSPID INT = 0,
只有 「CREATE PROCEDURE」 行應匹配。
你能否添加預期的輸入/輸出來幫助我們翻譯這個正則表達式?我不知道Perl ReGex的語法,所以這可能會有所幫助 – Supamiu 2014-10-29 09:43:08
你有雙斜槓嗎? java字符串斜槓需要轉義 – 2014-10-29 09:43:40
@ J-16SDiZ:我做到了,但是在後臺,我們正在玩這兩個正則表達式。我不知道如何解決它。 – 2014-10-29 09:46:58