hashtag-regex

A regular expression to match hashtag identifiers as per the Unicode Standard.

Usage no npm install needed!

<script type="module">
  import hashtagRegex from 'https://cdn.skypack.dev/hashtag-regex';
</script>

README

hashtag-regex Build status

hashtag-regex offers a regular expression to match hashtag identifiers as per the Unicode Standard.

This repository contains a script that generates this regular expression based on the Unicode data. Because of this, the regular expression can easily be updated whenever the Unicode Standard changes.

Installation

Via npm:

npm install hashtag-regex

In Node.js:

const hashtagRegex = require('hashtag-regex');
// Note: because the regular expression has the global flag set, this module
// exports a function that returns the regex rather than exporting the regular
// expression itself, to make it impossible to (accidentally) mutate the
// original regular expression.

const text = `
#hashtag
#©
#🤷🏿‍♀️ (\uFF03\u{1F937}\u{1F3FF}\u200D\u2640\uFE0F)
`;

const regex = hashtagRegex();
let match;
while (match = regex.exec(text)) {
  const hashtag = match[0];
  console.log(`Matched sequence ${ hashtag } — code points: ${ [...hashtag].length }`);
}

Console output:

Matched sequence #hashtag — code points: 8
Matched sequence #© — code points: 2
Matched sequence #🤷🏿‍♀️ — code points: 6
Matched sequence #🤷🏿‍♀️ — code points: 6

Author

twitter/mathias
Mathias Bynens

License

hashtag-regex is available under the MIT license.