删除报价在正则表达式匹配
问题描述:
我有以下字符串:删除报价在正则表达式匹配
[assembly: AssemblyVersion("1.0.0.0")]
现在的问题是,我要提取出1.0.0.0
。这里的正则表达式,我可以拿出:
var pattern = "[^\\/]+\\[[a-z]+:\\s" + "AssemblyVersion"+ "(?:Attribute)?\\((.+)\\)\\]" ;
var theString ="[assembly: AssemblyVersion("1.0.0.0")]";
var reAssemblyVersion = new RegExp(pattern,"m");
reAssemblyVersion.exec(theString);
var theAnswer = RegExp.$1; // theAnswer is "1.0.0.0", but I want it to be 1.0.0.0
一定有什么东西我做错了在建立pattern
变量,但找不到了..任何想法?
答
您的RegEx并未消除双重qoutes。
这里是正确的:
var pattern = "[^\\/]+\\[[a-z]+:\\s" + "AssemblyVersion"+ "(?:Attribute)?\\(\\\"(.+)\\\"\\)\\]" ;
// Here --------------------------------------------------------------------^^^^ ^^^^
希望它可以帮助
答
为什么你就不能简单的东西,因为这:
\(\"([0-9.]*)\"\)
你忘了包括在一个正则表达式报价(在“(”和之前的“)”之后) – kangax 2009-09-24 03:22:42