Я пытаюсь изучить основы регулярных выражений и для этого использую свой текстовый редактор (Sublime Text) и веб-сайт (RegExr).
Если я прав, выражение [H]ello
должно соответствовать только экземплярам приветствия, начинающимся с заглавной буквы H. Это тот случай, когда я использую вышеупомянутый веб-сайт.
Однако, когда я запускаю тот же запрос в текстовом редакторе, сопоставляются даже экземпляры, не начинающиеся с заглавной H.
Изображение ниже подтверждает, что регулярное выражение [H]ello
дает 8 совпадений, а не 3.
Почему я получаю разные результаты в этих двух случаях для такого простого регулярного выражения? Кроме того, есть ли рекомендации по инструментам / веб-сайтам для изучения регулярных выражений?
Я согласен с тем, что я могу просто найти Hello
, используя опцию Aa
(с учетом регистра). Однако моя цель - узнать, как работают регулярные выражения и что я делаю неправильно.
В своем комментарии я имел в виду сказать Sublime text, что вы применяете Regex с учетом регистра, а не полностью ищите слово «Hello».
РЕДАКТИРОВАТЬ:
Похоже, что у Sublime text есть проблема с Regex и проверкой чувствительности к регистру здесь https://github.com/SublimeTextIssues/Core/issues/1007
Еще раз спасибо за ответ. Но [H]
не должен указывать H в верхнем регистре без выбора опции Aa
. Я думаю, как показывает ваша ссылка, это проблема с редактором, что очень удивительно, учитывая, насколько широко он используется.
Вы правы, если ваша цель - просто изучить RegEx, тогда [H] ello правильно, просто он не работает должным образом в Sublime, что является проблемой в редакторе, но в целях обучения вы можете игнорировать это.
Хотя я не использовал возвышенное, похоже, что ваш выбор на последнем снимке экрана, «Аа» - с учетом регистра, должно решить проблему. Попробуйте поискать после выбора "Aa"