我開始掌握RegEx了,這要歸功於我在這裏提供的所有重要幫助以及其他問題。但是,我還是吸就這一個:查找和替換正則表達式問題
我的代碼是:
StreamReader reader = new StreamReader(fDialog.FileName.ToString());
string content = reader.ReadToEnd();
reader.Close();
我在一個文本文件閱讀,我想搜索該文本並改變它(X和Y值始終在我的文本文件中相互跟隨):
X17.8Y-1。
但這種文字,也可以X16.1Y2.3(該值將永遠是X和Y後的不同)
我想將其更改爲這個
X17.8Y -1.G54
或
X(值)Y(值)G54
我的RegEx語句如下,但它不起作用。
content = Regex.Replace(content, @"(X(?:\d*\.)?\d+)*(Y(?:\d*\.)?\d+)", "$1$2G54");
是否有人可以修改對我來說它的工作原理,並會尋找X(通配符)Y(通配符),並用X(值),Y(值)G54取代它呢?
完美的作品。非常感謝。 – fraXis 2010-05-10 22:31:42
或'X [0-9 .-] + Y [0-9 .-] +' – Armstrongest 2010-05-10 22:34:46
這現在也匹配類似「X-17--2..3.-Y -... 1」這樣的字符串。 ',我不認爲他想要。他在他的問題中的原始正則表達式特別過濾掉非數字表達式(它只接受像.5或2.3或44這樣的數字)。這不會引入誤報嗎? – 2010-05-10 22:42:56