Последовательность emoji"?❤️??" не представляется как последовательность в notepad ++ и regex101.com (она отображается как 4-7 символов в зависимости от того, считаете ли вы столяры)
В любом случае, я ожидал бы, что и .*
, и (?:.)*
будут вести себя одинаково, но это не похоже на случай с notepad ++ (он работает, как и ожидалось, в regex101)
В блокноте ++ .*
, кажется, соответствует всем символам, но (?:.)*
не соответствует.
Например, с учетом этого ввода:
foobar?❤️??
.*
будет соответствовать всему (foobar?❤️??
)
(?:.)*
будет соответствовать foobar
, за которым следуют несколько совпадений нулевой ширины между смайликами.
Почему я получаю эти результаты? Это ошибка в движке Boost regex? Или основная причина заключается в том, что notepad ++ неправильно отображает последовательность эмодзи? В таком случае, почему он работает на regex101?
Edit:
[\s\S]*
, похоже, тоже не работает. Он ведет себя так же, как (?:.)*