嗨我有一些SQL代碼,我試圖解析並提取一些文本。正則表達式提取子串
CREATE OR REPLACE VIEW the_view_name as
我想REPLACE VIEW
並且不包括開頭或結尾的空格AS
之間的文本。
目前我收到了很多與/REPLACE\s*VIEW(.*?)\s*AS/gi
。
感謝
嗨我有一些SQL代碼,我試圖解析並提取一些文本。正則表達式提取子串
CREATE OR REPLACE VIEW the_view_name as
我想REPLACE VIEW
並且不包括開頭或結尾的空格AS
之間的文本。
目前我收到了很多與/REPLACE\s*VIEW(.*?)\s*AS/gi
。
感謝
試着這樣做:
echo 'CREATE OR REPLACE VIEW the_view_name as' |
perl -lne '/replace\s+view\s+(.*?)\s+as\b/i && print "[$1]"'
[the_view_name]
您可以使用此正則表達式太你的情況:
/replace\s+view\s+(\S+)\s+as\b/i
\S : Character class for non whitespace
你目前缺少視圖後的空間,如果你想除了空間的一切,然後你捕獲組應該是([^\s]*)
,這將收集的一切,直到一個空間。
感謝;更換\ S * VIEW \ S * ([^ \ s] *)給我替換視圖the_view_name我仍然只有'the_view_name' – jaybee
$ sqlline =〜/replace\s+view\s+(.*?)\s+as \雙; $ viewname = $ 1; print「viewname:$ viewname \ n」; – jaybee
呃?你什麼意思 ? –
一切都好;這就是我最終使用的。我只需要1美元 – jaybee