equal
deleted
inserted
replaced
50 } |
50 } |
51 |
51 |
52 /** |
52 /** |
53 * Escapes characters for use in a Regular Expression. |
53 * Escapes characters for use in a Regular Expression. |
54 * |
54 * |
55 * @param {String} string Characters to escape |
55 * @param {String} string Characters to escape |
56 * |
56 * |
57 * @return {String} Escaped characters |
57 * @return {String} Escaped characters |
58 */ |
58 */ |
59 function escapeRegExp( string ) { |
59 function escapeRegExp( string ) { |
60 return string.replace( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&' ); |
60 return string.replace( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&' ); |
61 } |
61 } |
62 |
62 |
118 var endOffset; |
118 var endOffset; |
119 var pattern; |
119 var pattern; |
120 var format; |
120 var format; |
121 var zero; |
121 var zero; |
122 |
122 |
123 // We need a non empty text node with an offset greater than zero. |
123 // We need a non-empty text node with an offset greater than zero. |
124 if ( ! node || node.nodeType !== 3 || ! node.data.length || ! offset ) { |
124 if ( ! node || node.nodeType !== 3 || ! node.data.length || ! offset ) { |
125 return; |
125 return; |
126 } |
126 } |
127 |
127 |
128 var string = node.data.slice( 0, offset ); |
128 var string = node.data.slice( 0, offset ); |
147 endOffset = offset - p.delimiter.length; |
147 endOffset = offset - p.delimiter.length; |
148 |
148 |
149 var before = string.charAt( startOffset - 1 ); |
149 var before = string.charAt( startOffset - 1 ); |
150 var after = string.charAt( startOffset + p.delimiter.length ); |
150 var after = string.charAt( startOffset + p.delimiter.length ); |
151 |
151 |
152 // test*test* => format applied |
152 // test*test* => format applied. |
153 // test *test* => applied |
153 // test *test* => applied. |
154 // test* test* => not applied |
154 // test* test* => not applied. |
155 if ( startOffset && /\S/.test( before ) ) { |
155 if ( startOffset && /\S/.test( before ) ) { |
156 if ( /\s/.test( after ) || before === delimiterFirstChar ) { |
156 if ( /\s/.test( after ) || before === delimiterFirstChar ) { |
157 return; |
157 return; |
158 } |
158 } |
159 } |
159 } |