mentions-regex
Version:
100% twitter compatible `@mentions` regex! Regular expression for matching `@username` mentions, as used on twitter, facebook, github, etc.
140 lines (137 loc) • 3.35 kB
JavaScript
/**
* mentions-regex <https://github.com/regexps/mentions-regex>
*
* Copyright (c) 2014-2015 Charlike Mike Reagent, contributors.
* Released under the MIT license.
*/
module.exports = {
shouldMatchBarOnly: [
'foo @bar baz qux',
'foo @bar.baz qux',
'foo @bar,baz qux',
'foo @bar!baz qux',
'foo @bar#baz qux',
'foo @bar$baz qux',
'foo @bar%baz qux',
'foo @bar^baz qux',
'foo @bar&baz qux',
'foo @bar*baz qux',
'foo @bar(baz qux',
'foo @bar)baz qux',
'foo @bar{baz qux',
'foo @bar}baz qux',
'foo @bar<baz qux',
'foo @bar>baz qux',
'foo @bar[baz qux',
'foo @bar]baz qux',
'foo @bar=baz qux',
'foo @bar+baz qux',
'foo @bar-baz qux',
'foo @bar`baz qux',
'foo @bar\\baz qux',
'foo @bar:baz qux',
'foo @bar;baz qux',
'foo @bar?baz qux',
'foo @bar~baz qux',
'foo @bar|baz qux',
'foo @bar"baz qux',
"foo @bar'baz qux",
'foo .@bar.baz qux',
'foo ,@bar,baz qux',
'foo ^@bar^baz qux',
'foo )@bar(baz qux',
'foo (@bar)baz qux',
'foo {@bar{baz qux',
'foo }@bar}baz qux',
'foo <@bar<baz qux',
'foo >@bar>baz qux',
'foo [@bar[baz qux',
'foo ]@bar]baz qux',
'foo =@bar=baz qux',
'foo +@bar+baz qux',
'foo -@bar-baz qux',
'foo `@bar`baz qux',
'foo \\@bar\\baz qux',
'foo :@bar:baz qux',
'foo ;@bar;baz qux',
'foo ?@bar?baz qux',
'foo ~@bar~baz qux',
'foo |@bar|baz qux',
'foo "@bar"baz qux',
"foo '@bar'baz qux"
],
shouldNotMatch: [
'foo bar@baz qux',
'foo bar@baz.qux',
'foo bar@baz.qux:beta/gama',
'foo @ bar baz qux',
'foo @.bar.baz qux',
'foo @,bar,baz qux',
'foo @!bar!baz qux',
'foo @#bar#baz qux',
'foo @$bar$baz qux',
'foo @%bar%baz qux',
'foo @^bar^baz qux',
'foo @&bar&baz qux',
'foo @*bar*baz qux',
'foo @)bar(baz qux',
'foo @(bar)baz qux',
'foo @{bar{baz qux',
'foo @}bar}baz qux',
'foo @<bar<baz qux',
'foo @>bar>baz qux',
'foo @[bar[baz qux',
'foo @]bar]baz qux',
'foo @=bar=baz qux',
'foo @+bar+baz qux',
'foo @-bar-baz qux',
'foo @`bar`baz qux',
'foo @\\bar\\baz qux',
'foo @:bar:baz qux',
'foo @;bar;baz qux',
'foo @?bar?baz qux',
'foo @~bar~baz qux',
'foo @|bar|baz qux',
'foo @"bar"baz qux',
"foo @'bar'baz qux",
'foo @.bar baz qux',
'foo @,bar baz qux',
'foo @!bar baz qux',
'foo @#bar baz qux',
'foo @$bar baz qux',
'foo @%bar baz qux',
'foo @^bar baz qux',
'foo @&bar baz qux',
'foo @*bar baz qux',
'foo @)bar baz qux',
'foo @(bar baz qux',
'foo @{bar baz qux',
'foo @}bar baz qux',
'foo @<bar baz qux',
'foo @>bar baz qux',
'foo @[bar baz qux',
'foo @]bar baz qux',
'foo @=bar baz qux',
'foo @+bar baz qux',
'foo @-bar baz qux',
'foo @`bar baz qux',
'foo @\\bar baz qux',
'foo @:bar baz qux',
'foo @;bar baz qux',
'foo @?bar baz qux',
'foo @~bar baz qux',
'foo @|bar baz qux',
'foo @"bar baz qux',
"foo @'bar baz qux",
'foo 2@222 baz qux',
'foo 2@bar baz qux',
'foo !@bar!baz qux',
'foo #@bar#baz qux',
'foo $@bar$baz qux',
'foo %@bar%baz qux',
'foo &@bar&baz qux',
'foo *@bar*baz qux',
'foo _@bar_baz qux',
'foo _@bar baz qux'
]
}