我使用了以下
Regex RE = new Regex(@"'?([(\.\//\s\;\,\:\.\)]+)'?");
分割存储在xml文件中的表达式。
"NIGHT.set('/xs:Service/xs:Location[2]/xs:Res/protocol','HOPR','SP')";
由于单引号,它在阅读时会疯狂。我想摆脱xml文件中的单引号,将表达式更改为
"NIGHT.set(/xs:Service/xs:Location[2]/xs:Res/protocol,HOPR,SP)";
但是当我再次尝试regexp时,它大部分都有效,但是有一个条目 应用“(\”
的正则表达式后拆分块所以它做得不对。我对regexp非常不满,任何人都可以很快 告诉我如何改善它。
感谢。 scope_creep
答案 0 :(得分:1)
你试过regex coach吗?它是解决这类问题的一个非常方便的工具。
答案 1 :(得分:0)
这是你可以做到的一种方式:
string s = "NIGHT.set('/xs:Service/xs:Location[2]/xs:Res/protocol','HOPR','SP')";
s = s.Replace("'", "");
Regex re = new Regex(@"^(.*)\((.*)\)$");
Match match = re.Match(s);
if (match.Success)
{
string function = match.Groups[1].Value;
string[] parameters = match.Groups[2].Value.Split(',');
// ...
}