파일에서 데이터를 읽고 모든 소문자 모음 ('a', 'e', 'i', 'o')을 포함하는 단어를 한 줄에 하나씩 인쇄하려고합니다. ','u ') 순서대로./정규 표현식 프로그램이 인쇄하지 않습니다
답변
문제는 정규 표현식 아니지만, 당신은 파일 핸들을 사용하는 방법이 시도 :
를 그들은 그것이 아무것도 인쇄되지 않은 각 다른#!/usr/local/bin/perl
#$data_file = "words.txt;
open (MYFILE, $data_file) or die "can't find file - $!";
while (<MYFILE> =~ m/.*a.*e.*i.*o.*u.*/i)
{
print "$_";
}
close(MYFILE);
옆에있을 필요가 없습니다
while (<MYFILE>) {
print if /.*a.*e.*i.*o.*u.*/i;
}
앞과 뒤의'. *'도 드롭 할 수있다. –
정규식이 좋다고 생각합니다. 오류는 파일에서 읽는 방법입니다. 또한, 귀하의 게시물에 댓글을 달았습니다. 그것이 실수인지 여부는 알 수 없습니다.
#!/usr/local/bin/perl
use strict;
use warnings;
my $data_file = "words.txt";
open (my $MYFILE, "<", $data_file) or die "can't find file - $!";
while (my $line = <$MYFILE>)
{
chomp($line);
print "$line\n" if $line =~ m/.*a.*e.*i.*o.*u.*/i;
}
close ($MYFILE);
당신은 항상 use strict;
및 use warnings;
해야한다. 3 인자 버전의 open을 사용하여 읽기 전용으로 지정해야합니다.
+1은'use strict'와'use warnings'에 +1합니다. 내가 할 수 있다면 + 1k. 이 네 단어를 추가하면 많은 수수께끼의 펄 버그가 분명해집니다. –
@ NathanielWaisbrot 사실입니다 :). – squiguy
은 내가했을 것 :
% perl -ne 'print if /a.*e.*i.*o.*u/' < words.txt
사용 펄 스위스 군용 나이프로.
사실, 난했을 : 다음
% cat words.txt | perl -ne 'print if /.*/' | head
이 나에게 words.txt의 처음 10 선을 보였다 때, 내가 가진 것 : 그런 다음
% cat words.txt | perl -ne 'print if /a/' | head
% cat words.txt | perl -ne 'print if /a.*e/' | head
:
% cat words.txt | perl -ne 'print if /a.*e.*i.*o.*u/' | head
% cat words.txt | perl -ne 'print if /a.*e.*i.*o.*u/' | less
% cat words.txt | perl -ne 'print if /a.*e.*i.*o.*u/' | less > results.txt
퀴즈처럼 'less'(및 'more')는 터미널에 쓰지 않을 때 pass-thru의 역할을합니다.
이 스타일은 프로그램을 한 번에 한 단계 씩 개발하므로 각 단계에서 결과를 볼 수 있습니다.
MYFILE이 목록 컨텍스트에 있습니다. m //을리스트에 적용하면 MYFILE의 스칼라 컨텍스트에서 작동합니다.
- 1. C 프로그램이 값을 인쇄하지 않습니다.
- 2. 정규 표현식 정규 표현식 돼지
- 3. PHP에 정규 표현식 최적화 프로그램이 있습니까?
- 4. 귀찮은 정규 표현식
- 5. 정규 표현식
- 6. 이맥스 정규 표현식 빌더 교체 - 정규 표현식
- 7. 정규 표현식 패턴이 일치하지 않습니다
- 8. 정규 표현식 악센트가 표시되지 않습니다.
- 9. 정규 표현식 PHP - 작동하지 않습니다.
- 10. 정규 표현식 교체가 작동하지 않습니다.
- 11. 정규 표현식 일치가 작동하지 않습니다.
- 12. C 프로그램이 연결된 목록의 노드를 인쇄하지 않습니다
- 13. ^[! - // - ~] 정규 표현식
- 14. 정규 표현식
- 15. 정규 표현식
- 16. 정규 표현식 :
- 17. 정규 표현식
- 18. 정규 표현식
- 19. 정규 표현식
- 20. 정규 표현식
- 21. 정규 표현식
- 22. 정규 표현식
- 23. 정규 표현식
- 24. 정규 표현식
- 25. 정규 표현식
- 26. 정규 표현식의 정규 표현식?
- 27. 정규 표현식
- 28. 정규 표현식
- 29. Javascript 정규 표현식 코드 - PHP 정규 표현식?
- 30. 정규 표현식
와우! obvios 행동과 좋은 상상력이 아닙니다! :) strict와 warnings은 그러한 마술을 막을 것이다 – gaussblurinc