Perl: Пользователь вводит строку символов, а также определенное регулярное выражение, которое будет использоваться для поиска указанной строки. - PullRequest
0 голосов
/ 04 августа 2020
print "Enter string:\n";
$sentence = <>;
print "Enter the regex to use for search:\n";
$regex = <>;
if ($sentence =~ $regex){
  print "Matching\n";
}
else{
  print "Not matching";
}
print "Match found: ", # This should show the text that is found by the regular expression that is typed by the user.

Здравствуйте, у меня проблемы с кодом. Это то, что я набираю в следующих полях. $ предложение: Быстрая лиса. $ regex: q. * k. $ Regex не совпадает с предложением $. Нужно ли мне преобразовывать $ regex? Кроме того, как я могу напечатать соответствующий текст в конце? Примерно так.

Enter string:
The quick fox

Enter the regex to use for search:
q.*k

Matching

Match found: quick

1 Ответ

1 голос
/ 04 августа 2020

Вам нужно удалить завершающую новую строку из входного регулярного выражения:

print "Enter string:\n";
$sentence = <>;
chomp $sentence; # remove trailing newline (optional)
print "Enter the regex to use for search:\n";
$regex = <>;
chomp $regex; # remove trailing newline (not optional!!)
if ($sentence =~ $regex){
  print "Matching: $&\n"; # Group 0
}
else {
  print "Not matching\n";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...