Latest web development tutorials

펄 정규 표현식

정규식 (정규 표현식) 캐릭터 라인 교체하거나 조건을 제거하는 문자열과 일치하는 특정 문자열이 포함되어 있는지 여부를 확인하는 데 사용할 수있는 문자열의 집합을 설명하는 문자열에서 문자열을 일치 등등.

언어의 펄 정규식 기능은 기본적으로, 가장 강력한 공통 언어, 그들은 참조 펄 정규 표현식 많은 언어 설계 정규 표현식 지원이 매우 강력하다.

펄 정규 표현식의 세 가지 형태, 교체 및 변환을 일치 :

  • 경기 : m / / (또한 / 약칭 / 생략 m)

  • 교체 : S / / /

  • 변환 : TR / / /

이 세 가지 형태와는= ~ 또는 일반적으로! ~= ~이 경기를 나타내는 사용으로! ~이 일치하지 않았다.


경기 연산자

다음과 같이 문자열이나 정규 표현식 문을 일치시키는 데 사용 경기 연산자 m은 // 예를 들어, 코드를 "실행"에서 스칼라 $ 표시 줄에 맞게 :

#!/usr/bin/perl

$bar = "I am w3big site. welcome to w3big site.";
if ($bar =~ /run/){
   print "第一次匹配\n";
}else{
   print "第一次不匹配\n";
}

$bar = "run";
if ($bar =~ /run/){
   print "第二次匹配\n";
}else{
   print "第二次不匹配\n";
}

위의 프로그램은 출력은 다음과 같습니다

第一次匹配
第二次匹配

패턴 일치 수정

다음과 같이 수정 일치하는 몇 가지 일반적인 패턴이있다 :

수정 기술
나는 대문자 모드를 무시
m 멀티 라인 모드
한 번만 할당
에스 한 줄 모드 "."일치 "\ n을"(기본값은 일치하지 않습니다)
엑스 빈 모드를 무시
g 글로벌 경기
CG 글로벌 매칭의 실패 후, 다시 일치하는 문자열을 찾을 수 있습니다

정규식 변수

펄 세 특별한 이름 변수의 값과 일치하도록 처리 한 후에 존재하는 것

  • 문자열 정합부 앞부분 : $`
  • $ & : 일치하는 문자열
  • $ ': 아니 일치 나머지 문자열

함께이 세 가지 변수 경우 원래 문자열을 얻을 것이다.

다음 예는 다음과 같다 :

#!/usr/bin/perl

$string = "welcome to w3big site.";
$string =~ m/run/;
print "匹配前的字符串: $`\n";
print "匹配的字符串: $&\n";
print "匹配后的字符串: $'\n";

위 프로그램의 출력은 다음과 같습니다

匹配前的字符串: welcome to 
匹配的字符串: run
匹配后的字符串: oob site.

교체 연산자

교체 /// 연산자의 운영자는 특정 문자열을 대체 할 새로운 캐릭터의 사용의 확대와 일치하는 것이다. 다음과 같이 기본 형식은 다음과 같습니다

s/PATTERN/REPLACEMENT/;

패턴은 문자열을 대체 할 수있는 패턴, 교체하였습니다.

예를 들어, "구글"우리는 다음과 같은 문자열을 대체 할 것은 "w3big"입니다 :

#!/usr/bin/perl

$string = "welcome to google site.";
$string =~ s/google/w3big/;

print "$string\n";

위 프로그램의 출력은 다음과 같습니다

welcome to w3big site.

교환 작업 개질제

다음과 같이 동작 수정 바꾸기 :

수정 기술
나는 당신이 추가하는 경우 "i"가 수식에, 다음 정규 대소 문자 구분은 "이이"와 "A"는 동일 취소됩니다.
m 각 라인의 시작 부분에서 "^"이다 : 기본은 각 라인의 시작과 끝 문자열을 참조한다,에 "m"수정과 결합 된 경우 일반 문자열을위한 일반 "^"최종 "$"를 시작합니다 끝이 "$"입니다.
표현은 한 번만 실행됩니다.
에스 당신은 수정에서 "s"를 추가하는 경우, 디폴트. ""개행 문자를 제외한 모든 문자를 대신가 줄 바꿈이 포함, 모든 문자가 될 것이다!
엑스 당신이 수정을 추가하는 경우가 탈출하지 않는 한, 표현 공백 문자는 무시됩니다.
g 일치하는 모든 문자열을 교체합니다.
전자 대체 문자열 식으로

변환 연산자

다음은 변환 연산자 관련 수정입니다 :

수정 기술
C 모든 문자의 변환을 지정하지
지정된 모든 문자를 삭제
에스 동일한 출력 특성의 복수의 축소

모든 소문자 변수 $ 문자열을 대문자로 변환 다음 예제 :

#!/usr/bin/perl 

$string = 'welcome to w3big site.';
$string =~ tr/a-z/A-z/;

print "$string\n";

위 프로그램의 출력은 다음과 같습니다

WELCOME TO w3big SITE.

다음의 예는 삭제 된 문자를 반복 / s 변수 $ 문자열을 사용합니다 :

#!/usr/bin/perl

$string = 'w3big';
$string =~ tr/a-z/a-z/s;

print "$string\n";

위 프로그램의 출력은 다음과 같습니다

runob

더 많은 예제 :

$string =~ tr/\d/ /c;     # 把所有非数字字符替换为空格
$string =~ tr/\t //d;     # 删除tab和空格
$string =~ tr/0-9/ /cs    # 把数字间的其它字符替换为一个空格。

더 많은 정규 표현식 규칙

기술
. 줄 바꿈을 제외한 모든 문자와 일치
X? 경기 0 또는 문자열 x
X * 대전 0 번 이상 X 문자열하지만 가능한 일치 최소
X + 경기 1 회 이상의 X 문자열 만 가능한 일치의 최소 수
. * 모든 문자 일치 0 번 이상
. + 모든 문자에 의한 경기 1 회 이상
{M} 정확히 m의 지정된 문자열과 일치
{M, N} 일치 m 또는 더 많거나 적은 특정 문자열 N
{M} 경기 m 이상의 지정된 문자열
[] 어떤 내 캐릭터 [일치]
[^] 경기는]의 문자를 충족하지 않습니다
[0-9] 모든 숫자 일치
[아즈] 모두 소문자 알파벳 문자와 일치
[^ 0-9] 모든 숫자가 아닌 문자와 일치
[^ 아즈] 모든 소문자 알파벳 문자와 일치
^ 시작과 일치하는 문자
$ 문자의 마지막 문자를 찾습니다
\ D 숫자 문자 및 [0-9] 같은 구문을 일치
\ D + 여러 숫자 문자열을 일치하고 [0-9] + 구문으로
\ D \ d를 가진 다른, 비 - 디지털
\ D + \ d 개 +와 다른, 비 - 디지털
\ W 문자 또는 숫자의 문자열와 [A-ZA-Z0-9]는 구문으로
\ W + 그리고 [A-ZA-Z0-9] + 구문으로
\ W 영어 이외의 문자 나 숫자, 문자열 및 [^ A-ZA-Z0-9] 같은 구문
\ W + 그리고 [^ A-ZA-Z0-9] + 구문으로
\ S 공간, 그리고 [\ n 개의 \ t의 \ 연구 \ f를] 같은 구문
\ S + 그리고 [\ n 개의 \ T는 \ r에 \ f를] +로
\ S 비 공간, [^ \ n을 \의 t \ r에 \ f를] 같은 구문
\ S + 그리고 [^ \ n을 \ T는 \ r에 \ f를] + 구문으로
\ B 영어 문자, 숫자 경계 문자열 일치
\ B 알파벳에서 일치하지 않는, 숫자 경계 문자열
A | B | C 문자열과 일치하는 문자 또는 b 또는 c 문자와 일치
ABC ABC 일치하는 문자열 (패턴) (포함)은 그것이 매우 유용한 구문, 문자열을 찾으려면이 기호를 기억합니다. 첫 번째 문자열을 (내) 발견이 변수가 $ 1 \ 1이된다 변수, 두 번째 (내부)의 등 아래로 $ 2 \이 변수에 문자열 변수를 발견합니다.
/ 패턴 / 난 나는이 매개 변수는 문자 앞에 추가 즉, 검색 문자열, 영어의 경우 질문을 무시하고. \ 당신이 패턴 모드에서 특수 문자를 찾으려면, 같은이 "*",이 때, 영어의 경우를 무시 나타냅니다 \ 기호,이 특수 문자가 실패 할 수 있습니다