簡體   English   中英

正則表達式-替換語法-向后引用

[英]Regex - Replace Syntax - Backreferences

我試圖遍歷文件的所有行,並且對於每行包含一個“我正在嘗試將匹配項替換為該行本身,但末尾也添加一個”。

我正在從.NET / C#使用這樣的語法:

Regex re = new Regex("/\"/"); // without escaping would be /"/
re.Replace(" someAttr=\"some text here", "$0\"");

請嘗試以下操作:

Regex re = new Regex("\".*");
re.Replace(" someAttr=\"some text here", "$&\"");

首先,您需要丟失正則表達式周圍的斜線。

根據此.NET正則表達式參考頁$&是整個匹配項的參考,而不是$0

同樣,使用當前方法,您將只用兩個連續的雙引號替換一個雙引號。 由於要在行末添加新的雙引號,因此需要使正則表達式與行末匹配,這就是.*作用。

示例: http//ideone.com/K5A7D

line="some text.d.sd..dsd.";    
Regex r=new Regex("\".*");
r.Replace(line,"$0\"");

這也應該工作:

string line = "This is a string";

Regex re = new Regex("[\"].*");
re.Replace(line,"$0\"");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM