2016-09-10 11 views
1

正規表現を使用して、二重引用符で囲んだ文字列を検索して置き換えました。以下は私が使った正規表現です。私が得た出力は正規表現の前に置かれた新しいものです。私が得た正規表現を使用して二重引用符で囲んだ文字列を置き換えるにはどうすればいいですか?

int portNum = 5969; 
var input = File.ReadAllText(@"C:\Users\aaa\look.ts"); 
var outputFileText = Regex.Replace(input, @"baseurl(\s*)= (\s*).*?", @"baseurl = " + "\"http://localhost:" + portNum + "\""); 

出力は

var baseurl = "http://localhost:5969/""http://www.google.com/"; 

の予想される出力は、あなたがそれ以外の場合は、できるだけ一致します最後に貪欲数量詞.*?を使うべきではありません

var baseurl= "http://localhost:5969/" 
+0

するvar BASEURLが含まれているtypescriptファイルの内容を.... –

答えて

1

です。この場合、.*?の後には何もないので、0文字に一致します。

それは貪欲最後まで一致させるために作り、それを動作させるには:

int portNum = 5969; 
var input = File.ReadAllText(@"C:\Users\aaa\look.ts"); 
var outputFileText = Regex.Replace(input, @"baseurl(\s*)= (\s*).*", 
        @"baseurl = " + "\"http://localhost:" + portNum + "\""); 
関連する問題