【发布时间】:2013-06-17 14:17:33
【问题描述】:
为什么这个正则表达式不是这样构造的:
tmprect = string "gg_rct_MyReg1"
regex = @"^\s*set\s+"+tmprect+@"\s*=\s*Rect\s*\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s**(.+)\s*\).*$";
不适合
set gg_rct_MyReg1 = Rect (-704.0 , -352.0, 224.0 , 448.0) //rect 1
我做错了什么?
///已编辑:
string findrectcoord = @"^\s*set\s+" + tmprect + @"\s*=\s*Rect\s*\(\s*([^,\s]*)\s*,\s*([^,\s]*)\s*,\s*([^,\s]*)\s*,\s*([^)\s]*)\s*\).*$";
StreamReader file3 = new StreamReader(openFileDialog1.FileName);
string line2;
while ((line2 = file3.ReadLine()) != null)
{
Regex foundrectr = new Regex(findrectcoord);
Match foundrectm = foundrectr.Match(line2);
if (foundrectm.Success)
{
MessageBox.Show("YES");
}
}
字符串:
set gg_rct_MyReg1 = Rect( -704.0 , -352.0, 224.0 , 288.0 ) //JassCode
找不到
【问题讨论】:
-
这个问题写的不正确。 :-)
-
你想用你的正则表达式做什么?您需要提供更多信息 - “这就是我想要发生的事情,这就是正在发生的事情”。简单更好。
-
正则表达式不适用于这些数据。 string " set gg_rct_MyReg1 = Rect (-704.0, -352.0, 224.0, 448.0) //rect 1" 我需要找坐标。
-
tmprect是否正确转义以包含在正则表达式中?见Regex.Escape。 -
你是否在构建正则表达式后分配
tmprect?