2016-12-21 9 views
0

Я стараюсь помочь читаемости в моем терминале и думаю, что создаю подсветку триггера, когда я использую binding.pry.Соответствие регулярному выражению ICU для нецифровой и без пробелов

Регулярное выражение я использовал, чтобы соответствовать любой <% binding.pry %> является:

(?i:.*<% binding.pry %>.*) 

Это прекрасно работает, но хотел бы сделать еще один шаг вперед и только выделить текущий binding.pry в терминале (в случае, если я могу иметь кратные, которые отображаются в терминале).

Как я мог бы написать мой ICU регулярное выражение так корректно следующие выходы:

64:  <div class="form-group"> 
=> 65:   <% binding.pry %> # This one should match 
    66:  </div> 
    67:  <% binding.pry %> # This one should not be matched 

Я знаю, что я хочу, чтобы соответствовать строку, которая включает в себя =>, а также <% binding.pry %> но отрицать пробелы и цифры. Самый близкий подход, который, как я думал, будет работать, - (?:\S+[^0-9].*=><% binding.pry %>), но это, к сожалению, не сработало.

ответ

0

Если я неправильно понял ваш последний абзац, (?m:^ => \d+:\s*<% binding.pry %>.*) должен делать то, что вы хотите.

Он подходит только для линии => 65: <% binding.pry %> # This one should match.

в действии here

0

Через некоторое мастерить я смог получить матч, используя следующее регулярное выражение:

(=>.*)(:.*binding.pry %>) 

Это satisfys мое намерение соответствовать только => 65: <% binding.pry %>