Странное поведение с Boost Regex и Emojis - PullRequest
0 голосов
/ 19 апреля 2019

Последовательность emoji"?‍❤️‍?‍?" не представляется как последовательность в notepad ++ и regex101.com (она отображается как 4-7 символов в зависимости от того, считаете ли вы столяры)

В любом случае, я ожидал бы, что и .*, и (?:.)* будут вести себя одинаково, но это не похоже на случай с notepad ++ (он работает, как и ожидалось, в regex101)

В блокноте ++ .*, кажется, соответствует всем символам, но (?:.)* не соответствует.

Например, с учетом этого ввода:

foobar?‍❤️‍?‍?

.* будет соответствовать всему (foobar?‍❤️‍?‍?)

(?:.)* будет соответствовать foobar, за которым следуют несколько совпадений нулевой ширины между смайликами.

Почему я получаю эти результаты? Это ошибка в движке Boost regex? Или основная причина заключается в том, что notepad ++ неправильно отображает последовательность эмодзи? В таком случае, почему он работает на regex101?

Edit:

[\s\S]*, похоже, тоже не работает. Он ведет себя так же, как (?:.)*

...