2015-07-15 5 views
-4

Я встретил шаблон ниже, пока изучаю регулярное выражение на Ruby.

Во-первых, я даю вам файл для ответа.

test.txt

second 
third 
not me 

И это главный файл.

regular_expression_test.rb

File.open("test.txt").grep(/d$/) do |line| 
    print line 
end 

Выход:

second 
third 

Почему этот пример привести, как выход ...?

ответ

1

$ просто отмечает конец строки. Какое специальное выражение d $ говорит интерпретатору Ruby: «Идем дальше и сопоставляем все строки, которые имеют d в конце». В вашем произведении оба слова имеют d в конце. Таким образом, они подбираются и возвращаются.

0

Регулярное выражение, которое вы используете: /d$/, ищет файл test.txt и соответствует строкам, заканчивающимся на d.

Он выводит результаты (совпадения). Надеюсь это поможет.

0

Потому что это регулярное выражение ищет все строки, которые заканчиваются на букву d в конце строки.

ОБНОВЛЕНИЕ:

Истинный смысл «все д \ п (ы)» или все строки, которые отделаны д.

Если вы хотите узнать или просто создать регулярное выражение, я бы порекомендовал вам попробовать Rubular

http://rubular.com/r/FFl26kHCNO

+1

Технически, '$' не означает _that_ :) –

+0

Истинный смысл «все d \ n (s) "или все строки, которые выполняются d –

Смежные вопросы