Я ищу текст для строк, которые используют переменную2 без точки с запятой перед ней в строке. Вот мое регулярное выражение, чтобы решить эту проблему.Не жадное регулярное выражение, не соответствующее ожидаемому
^[^;]*?variable2
Мое понимание этого является то, что он должен найти текст, начиная с новой строки, которая сводит к минимуму количество не символов запятой и «variable2». Это не позволяет выбрать то, что я ожидаю в этом примере.
Label0: mov variable0,WREG ;Some comment
mov W0,variable1
Label1: btsc variable2,#1 ;Some other comment
bra label2
Я ожидал получить эту
Label1: btsc variable2
но выбран этот вместо
mov W0,variable1
Label1: btsc variable2
Что я недопонимание? Мне кажется, что негласное выражение не делает то, что я намеревался сделать. Если я изменю свое регулярное выражение на ^[^;\n]*?variable2
, он выбирает, что я ожидаю от него. Я использую Sublime Text 2 для своих регулярных выражений, но я, похоже, получаю те же результаты в php, javascript и python (согласно regex101.com).
Да, я думал, что он будет активно искать более короткий набор символов для соответствия. Я всегда называл это не жадным, но ленивый - это гораздо более описательное слово. – Westin