Skip to content

Instantly share code, notes, and snippets.

@hyvyys
Last active October 6, 2019 00:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hyvyys/55e078f4d083f04dbb15dec2aacda8ab to your computer and use it in GitHub Desktop.
Save hyvyys/55e078f4d083f04dbb15dec2aacda8ab to your computer and use it in GitHub Desktop.
Syllable regular expression (English)
function syllableRegex() {
const consonants = "[bcdfghjklmnpqrstvwxyz']";
const vowels = "[aeiouy]";
const separators = "[ \\.,:;!?]|$";
const wordSep = `(?=${separators})`;
const wordSepOrConsonant = `(?=${separators}|${consonants})`;
return new RegExp(
`${consonants}*${vowels}{1,3}` +
`(${consonants}*e${wordSep}|${consonants}*${wordSepOrConsonant})`,
"ig"
);
}
/* should give something like (unescaped):
/[bcdfghjklmnpqrstvwxyz']*[aeiouy]{1,3}([bcdfghjklmnpqrstvwxyz']*e(?=[ ,.:'!?]|$)|[bcdfghjklmnpqrstvwxyz']*(?=[ ,.:'!?]|[bcdfghjklmnpqrstvwxyz']|$))/gi;
*/
export default syllableRegex();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment