我正在开发一个C#程序,需要加载一些javascript代码,解析它并对代码中的字符串文字进行一些处理(比如用其他东西覆盖它们).
我的问题是,我很难设计一种优雅的方法来首先在javascript代码中找到字符串文字.
例如,看看下面的示例javascript代码.你是否看到Stack Overflow的代码highliter甚至能够在代码中挑选出字符串文字,并使它们变成红色?
我想基本上做同样的事情,除了我不会将它们变成不同的颜色,但我会对它们进行一些处理,并可能用完全不同的字符串文字替换它.
var dp = {
sh : // dp.sh
{
Utils : {}, // dp.sh.Utils
Brushes : {}, // dp.sh.Brushes
Strings : {},
Version : '1.3.0'
}
};
dp.sh.Strings = {
AboutDialog : '<html><head><title>About...</title></head><body class="dp-about"><table cellspacing="0"><tr><td class="copy"><p class="title">dp.SyntaxHighlighter</div><div class="para">Version: {V}</p><p><a href="http://www.dreamprojections.com/syntaxhighlighter/?ref=about" target="_blank">http://www.dreamprojections.com/SyntaxHighlighter</a></p>©2004-2005 Alex Gorbatchev. All right reserved.</td></tr><tr><td class="footer"><input type="button" class="close" value="OK" onClick="window.close()"/></td></tr></table></body></html>',
// tools
ExpandCode : '+ expand code',
ViewPlain : 'view plain',
Print : 'print',
CopyToClipboard : 'copy to clipboard',
About : '?', …Run Code Online (Sandbox Code Playgroud) 我很久以前就问过这个问题,我希望我已经阅读过如何在C#(或Java,C++等)中不使用Regex 的答案 !
我希望使用Regex(正则表达式)来获取C#源代码中所有字符串的列表,包括嵌入了双引号的字符串.
这应该不会很难,但是在我花时间尝试构建正则表达式之前,有没有人有一个"预制"的表达式?
这并不像第一次那样容易