2010-09-04 31 views
0

我正在使用c#RegEx在脚本文本中搜索带引号的字符串。 我用这个表达式:new Regex("\"((?:\\\\.|[^\\\\\"]*)*)\""), e.g "((?:\\.|[^\\\"]*)*)" 含义不采取\"案件正则表达式:(双)引用字符串

这使得RegEx.Matches运行,并从未停止对一些输入串护理。

不要介意.Net RegEx这个问题,我知道我的表达不是最好的。

之前,我使用(?<!\\)".*?(?<!\\)"表达式,但对于"\\"输入字符串是不够的。

目标是在分析脚本代码之前检测带引号的字符串。

任何人都会建议一个好的表达?

它为工作:

echo("Hello" + yourName + ", here is \"MyTest\""); 
path = "\\" + file; 
echo("path ends with \\"); 

(注意,\奇怪的是这个网站的编辑)

非常感谢。

+0

你可以把正则表达式放到它自己的行中,并在它前面有四个前导空格吗? Elseway,没有人能够理解你实际想要说的话。 – fuz 2010-09-04 09:54:05

回答

1

通常它是利用

"((?:[^\\"]|\\.)*)" 

http://www.ideone.com/JiJwa匹配。

+0

使用http://regexlib.com/RETester.aspx进行测试,您的表达式在我的问题中无法使用给定的代码。 – edid 2010-09-04 10:03:31

+0

@edid:然后你错误地测试了它。 – kennytm 2010-09-04 10:07:27

+0

(当心,\被奇怪的编辑与此网站) – edid 2010-09-06 15:53:59