backreference

    2熱度

    2回答

    我想搜索包含在${...}中的字符串,並將這些字符串用作HashMap的鍵,該字符串包含我想用於替換${...}的值。 在下面的例子中,字符串Master_${field1}_${field2}_End應轉變爲Master_slave1_slave2_End: package com.stackoverflow; import java.util.HashMap; import java.u

    1熱度

    1回答

    當我使用'sed'時,我從來沒有能夠找出如何限制改變特定緩衝輸出的字符大小寫。例如,在下面的「sed的」指令I有兩個選定的文本的兩個跨保存爲緩衝器重新使用substition期間: sed -ri 's/^<div class="line" data-line-mode="verse"><span class="speaker"[^>]*>([^<]*)<\/span>[ ]*(.*)[ ]*$/

    0熱度

    2回答

    我試圖從其他文件的內容替換一些標籤的內容包括文件中使用回用file_exists引用: $view = preg_replace('/{include ([[:alnum:]\.-]+)}/', ((file_exists('template/$1.html')) ? 'OK $1' : 'KO $1'), file_get_contents('myTemplateFile.tpl')); 所

    1熱度

    1回答

    我有一個日期列表(YYYY-M或YYYY-MM)並且希望在前9個月前爲0加上前綴以保持一致性。數據格式:日期爲YYYY-M或YYYY-MM,後跟逗號和數字。 如: 2012-1,789 2012-11,563 2012-1,789應改爲2012-01,789。條目「2012-11,563」應保持不變。 正確的輸出應該是: 2012-01,789 2012-11,563 我試着按照Vim

    0熱度

    1回答

    Previous post related:如何通過一個替代正則表達式作爲命令行參數使用Perl 看完上面我寫了一個非常類似的腳本後,但是當我使用反向引用(如$1)時,我無法像插入那樣插入它。這可能是因爲我沒有使用正確的單/雙引號或其組合,但我已經把我的腦子花費了好幾個小時。 當我打電話因此它當程序被調用,包括反向引用它不能只是罰款 perl edit.pl "(BUILD_NUMBER)=.*"

    0熱度

    1回答

    我不能在C++的正則表達式中使用反向引用。 試圖更深奧的東西后,我試圖在GCC 4.8.1這個簡單的腳本: #include <iostream> #include <regex> #include <string> using namespace std; int main() { regex e("(..)\\1"); string s("aaaa");

    2熱度

    2回答

    我想匹配Python文件的文檔字符串。例如。 r""" Hello this is Foo """ 僅使用"""應該足夠開始。 >>> data = 'r""" Hello this is Foo\n """' >>> def display(m): ... if not m: ... return None ... else: ... return '<

    1熱度

    1回答

    我使用: cat this_file | sed ':a;N;$!ba;s/\n[a-z]/ [a-z]/g' > that_file 示例文本: However the text \n looks like this when it replaces the newline.\n 輸出: However the text [a-z]ooks like this when it repl

    3熱度

    2回答

    我只是好奇爲什麼grep以這種方式匹配事情。 例如,假設我試圖找到一個在句子中出現兩次的單詞(而不是其他單詞的一部分)。所以我想找到像下面幾行: hello everybody hello ,而不是像下面這樣: hello everybody hellopeople 那麼爲什麼下面的grep表達工作: grep -E '(\<.*\>).*\<\1\>' file ,而不是如下: gr

    0熱度

    4回答

    這是我的例子。如果我想用正則表達式來替換代碼中的製表符並用空格,但希望在一行代碼的中間或末尾保留製表符,我會用它作爲我的搜索字符串,以便在開始時捕獲每個製表符一行:^(\t)+ 現在,我怎麼能寫一個搜索字符串,用四個空格替換每個捕獲的組?我在想一定有辦法用反向引用來做到這一點? 我發現我可以通過運行類似的正則表達式替換(如s/^\t/ /g,s/^ \t/ /g,...)多次,直到沒有更多的匹配被