perl - 정규 표현 식 처리 텍스트
1. s / / 로 교체
이 동작 은 지정 한 변수 가 패턴 에 맞 는 부분 을 다른 문자열 로 바 꿀 수 있 습 니 다.
$_ = "He's out bowling with Barney tonight.";
if ( s/Barney/Fred/){
print "$_";
}
출력:
He's out bowling with Fred tonight.
물론 패턴 문자열 과 바 꾸 기 문자열 은 더 복잡 할 수 있 습 니 다.
$_ = "He's out bowling with Barney tonight.";
s/with (\w+)/against $1's team/){
print "$_";
}
출력:
He's out bowling against Barney's team tonight.
$_ = "green scaly dinosaur";
if (s/(\w+) (\w+)/$1, $2/){
print "The string change into : $_
";
}
if ( s/^/huge, /){
print "The string change into : $_
";
}
if (s/, .*een,/ /){
print "The string change into : $_
";
}
출력:
The string change into : green, scaly dinosaur
The string change into : huge, green, scaly dinosaur
The string change into : huge scaly dinosaur
2. / g 로 전역 교체
앞의 예 에서 볼 수 있 듯 이 다른 교체 할 수 있 는 부분 이 있어 도 s / / 는 한 번 만 교체 할 수 있 습 니 다.물론 이것 은 묵인 적 인 행동 일 뿐이다.g. s / / 모든 가능 하고 중복 되 지 않 는 교 체 를 할 수 있 습 니 다.
$_ = "home, sweet home!";
if ( s/home/cave/g){
print "$_";
}
출력: cave, sweet cave!
자주 사용 하 는 전역 교 체 는 공백 을 줄 이 는 것 입 니 다. 즉, 연속 적 인 공백 을 단일 공백 으로 바 꾸 는 것 입 니 다.
$_= "Input data and output data";
if (s/\s+/ /g){
print "$_";
}
출력:
Input data and output data
시작 과 끝 에 있 는 공백 을 어떻게 삭제 하 는 지 는 간단 합 니 다.
s/^\s+//g ;#
s/\s+$//g ;#
3. 대소 문자 변환
교체 연산 에 서 는 단 어 를 모두 고 쳐 서 알파벳 (또는 소문 자) 을 써 야 한다.PERL 로 는 쉽게 할 수 있 습 니 다. 일부 반사 선 이동 문자 만 사용 하면 됩 니 다.
\ U 이동 문 자 는 다음 문 자 를 대문자 로 변환 합 니 다.
\ \ L 문 자 를 소문 자로 변환 합 니 다.
소문 자 를 사용 합 니 다.
$_="I saw Barney with Fred.";
if (s/(fred|barney)/\U$1/gi){
print "$_
";
}
if (s/(fred|barney)/\L$1/gi){
print "$_
";
}
if (s/(fred|barney)/\u$1/gi){
print "$_
";
}
if (s/(fred|barney)/\l$1/gi){
print "$_
";
}
출력:
I saw BARNEY with FRED.
I saw barney with fred.
I saw Barney with Fred.
I saw barney with fred.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.