diff --git a/__tests__/ExpensiMark-HTML-test.js b/__tests__/ExpensiMark-HTML-test.js index 80ecf6ea..aa29ac13 100644 --- a/__tests__/ExpensiMark-HTML-test.js +++ b/__tests__/ExpensiMark-HTML-test.js @@ -334,7 +334,11 @@ test('Test markdown and url links with inconsistent starting and closing parens' + '(http://foo.com/(something)?after=parens) ' + '(((http://foo.com/(something)?after=parens ' + '(((http://foo.com/(something)?after=parens))) ' - + 'http://foo.com/(something)?after=parens))) '; + + 'http://foo.com/(something)?after=parens))) ' + + '[Yo (click here to see a cool cat)](https://c8.alamy.com/compes/ha11pc/cookie-cat-con-sombrero-de-cowboy-y-sun-glass-ha11pc.jpg) ' + + '[Yo click here to see a cool cat)](https://c8.alamy.com/compes/ha11pc/cookie-cat-con-sombrero-de-cowboy-y-sun-glass-ha11pc.jpg) ' + + '[Yo (click here to see a cool cat](https://c8.alamy.com/compes/ha11pc/cookie-cat-con-sombrero-de-cowboy-y-sun-glass-ha11pc.jpg) ' + + '[Yo click * $ & here to see a cool cat](https://c8.alamy.com/compes/ha11pc/cookie-cat-con-sombrero-de-cowboy-y-sun-glass-ha11pc.jpg) '; const resultString = 'google ' + '(google) ' @@ -344,7 +348,11 @@ test('Test markdown and url links with inconsistent starting and closing parens' + '(http://foo.com/(something)?after=parens) ' + '(((http://foo.com/(something)?after=parens ' + '(((http://foo.com/(something)?after=parens))) ' - + 'http://foo.com/(something)?after=parens))) '; + + 'http://foo.com/(something)?after=parens))) ' + + 'Yo (click here to see a cool cat) ' + + 'Yo click here to see a cool cat) ' + + 'Yo (click here to see a cool cat ' + + 'Yo click * $ & here to see a cool cat '; expect(parser.replace(testString)).toBe(resultString); }); diff --git a/lib/ExpensiMark.js b/lib/ExpensiMark.js index 811bd4be..7704e4b7 100644 --- a/lib/ExpensiMark.js +++ b/lib/ExpensiMark.js @@ -73,7 +73,7 @@ export default class ExpensiMark { process: (textToProcess, replacement) => { const regex = new RegExp( - `\\[((?:[\\w\\s\\d!?&#;:\\/\\-\\.\\+=<>,@\\[\\]‘’“”]|(?:.+<\\/code>))+)\\]\\(${URL_REGEX}\\)(?![^<]*(<\\/pre>|<\\/code>))`, + `\\[(.+?)\\]\\(${URL_REGEX}\\)(?![^<]*(<\\/pre>|<\\/code>))`, 'gi' ); return this.modifyTextForUrlLinks(regex, textToProcess, replacement);