我有以下字符串:
[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
变量时,我确实遇到了一些问题,但是找不到任何想法?
答案 0 :(得分:1)
您的RegEx没有消除双引号。 这是正确的:
var pattern = "[^\\/]+\\[[a-z]+:\\s" + "AssemblyVersion"+ "(?:Attribute)?\\(\\\"(.+)\\\"\\)\\]" ;
// Here --------------------------------------------------------------------^^^^ ^^^^
希望有所帮助
答案 1 :(得分:0)
为什么你不能像这样简单:
\(\"([0-9.]*)\"\)