Last active
October 14, 2017 22:34
-
-
Save maximal/50e0005d1d70a15a7754 to your computer and use it in GitHub Desktop.
RegEx for hashtags
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Поехали!
(?<=\p{Z}|\s|^)
это символ, который стоит перед решёткой.
в идеале он — либо начало строки — ^ (никакого символа)
либо пустой символ (пробел, табы, вся хуйня) — \s
либо любой другой разделитель в Юникоде (китайская точка или запятая, например) — \p{Z}
всё это со знаком ИЛИ — |
конструкция (?<= … … …) говорит, что этот сматченный символ мы в выходной результат не заносим, просто отмечаем
дальше
— символ решётки (сюрприз)
дальше выбор, любой из символов — [ … … ]
строка длиной больше одного — +
выбор такой
\p{L} — юникодовые буквы
\p{M} — юникодовые всякие значки, что могут быть в словах
\p{N} — юникодовые цифры
_ — подчёркивание
Во всяких тестах это будет заменено примерно таким:
[\w_] — но это обучалка, к реальной жизни не имеет отношения.