You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
574 B
25 lines
574 B
module.exports = patternCompile |
|
|
|
function patternCompile(pattern) { |
|
var before |
|
var after |
|
|
|
if (!pattern._compiled) { |
|
before = pattern.before ? '(?:' + pattern.before + ')' : '' |
|
after = pattern.after ? '(?:' + pattern.after + ')' : '' |
|
|
|
if (pattern.atBreak) { |
|
before = '[\\r\\n][\\t ]*' + before |
|
} |
|
|
|
pattern._compiled = new RegExp( |
|
(before ? '(' + before + ')' : '') + |
|
(/[|\\{}()[\]^$+*?.-]/.test(pattern.character) ? '\\' : '') + |
|
pattern.character + |
|
(after || ''), |
|
'g' |
|
) |
|
} |
|
|
|
return pattern._compiled |
|
}
|
|
|