Perfecting a regular expression can take a lot of time and testing but once achieved can be a absolutely golden. While looking through the source code of MooTools syntax highlighter Lighter.js I stumbled upon a few code-parsing regular expressions that you might be interested in.
完善正则表达式可能会花费大量时间和测试,但一旦实现则绝对是黄金。 在浏览MooTools语法突出显示工具Lighter.js的源代码时,我偶然发现了一些您可能感兴趣的代码解析正则表达式。
JavaScript (The JavaScript)
// Matches a C style single-line comment.
slashComments: /(?:^|[^\\])\/\/.*$/gm,
// Matches a Perl style single-line comment.
poundComments: /#.*$/gm,
// Matches a C style multi-line comment.
multiComments: /\/\*[\s\S]*?\*\//gm,
// Matches a string enclosed by single quotes.
aposStrings: /'[^'\\]*(?:\\.[^'\\]*)*'/gm,
// Matches a string enclosed by double quotes.
quotedStrings: /"[^"\\]*(?:\\.[^"\\]*)*"/gm,
// Matches both.
strings: /'[^'\\]*(?:\\.[^'\\]*)*'|"[^"\\]*(?:\\.[^"\\]*)*"/gm,
// Matches a property: .property style.
properties: /\.([\w]+)\s*/gi,
// Matches a method call: .methodName() style.
methodCalls: /\.([\w]+)\s*\(/gm,
// Matches a function call: functionName() style.
functionCalls: /\b([\w]+)\s*\(/gm,
// Matches any of the common brackets.
brackets: /\{|\}|\(|\)|\[|\]/g,
// Matches integers, decimals, hexadecimals.
numbers: /\b((?:(\d+)?\.)?[0-9]+|0x[0-9A-F]+)\b/gi
Regular expressions can look heinous so I apologize to anyone whose brains imploded after looking at the above hieroglyphics text. Have useful regular expressions you use often? Share them!
正则表达式可能看起来令人发指,因此,对上述象形文字阅读后大脑崩溃的人,我深表歉意。 您是否经常使用有用的正则表达式? 分享他们!