Perl 의 정규 표현 식 용법 요약

7682 단어 perl
"......................................................................
"*" 는 앞의 항목 이 0 번 이나 여러 번 나타 나 는 것 과 일치 합 니 다.
"+" 는 앞 항목 에 한 번 이상 나타 나 는 데 사 용 됩 니 다.
"?" 앞 항목 에 한 번 나타 나 거나 나타 나 지 않 는 데 사용 합 니 다.
"()" 는 문자열 을 묶 는 데 사 용 됩 니 다. \ \ 1 또는 \ 2 는 괄호 안의 문자열 을 거꾸로 참조 할 수 있 습 니 다. 해당 숫자 는 해당 하 는 순서 의 캡 처 그룹 을 표시 합 니 다. () 의 캡 처 그룹 을 호출 하려 면 $1, $2 로 순서대로 캡 처 할 수도 있 고 $+ {LABEL} 탭 으로 캡 처 할 수도 있 습 니 다.

  
  
  
  
  1. /(.)\1/  2 , 'aa'
  2. /(\S)\1/ 2
  3. /(.)(.)\2\1/ 'abba'
  4. /(.)\g{1}11/ \g{N},N ,
  5. /(?:bronto)?saurus (steak|burger)/ ?:
  6. /(?<name1>\w+) (?:and|or) (?<name2>\w+)/ ?<LABEL>

자동 캡 처 변수 에 대해 서 는 $& 로 일치 하 는 문자열 을 표시 할 수 있 습 니 다. $` 는 문자열 이 이전 필드 와 일치 하 는 것 을 표시 합 니 다. $'는 문자열 이 일치 하 는 필드 를 표시 하고 ${^ MATCH}, ${^ PREMATCH}, ${POStmATCH} 로 표시 할 수 있 습 니 다.
전의 문자, "." 번호 자 체 를 일치 시 키 려 면 "\" 전의, "\." 를 사용 해 야 합 니 다. "\" 자 체 를 일치 시 키 려 면 "\ \" 입 니 다.
"|" 은 앞 과 일치 하거나 뒤 와 일치 합 니 다.

  
  
  
  
  1. /wilma.*fred|fred.*wilma/  wilma fred,

"[a - zA - Z]" 는 연속 적 인 문자 집합 을 나타 낸다.

  
  
  
  
  1. /[A-Z][a-z]+/ 

"\ d" 는 임의의 숫자 를 나타 내 는 문자 집합 입 니 다. 전 제 는 ASCII 문자 집중 입 니 다. 반대로 "\ D" 는 부정적인 의 미 를 나타 내 고 비 숫자 를 나타 냅 니 다.
"\ s" 는 임의의 공백 문자 와 일치 하 는 반면, "\ S" 는 공백 문자 가 아 닌 것 을 표시 합 니 다.
"\ w" 와 "[a - zA - z0 - 9]" 문자 집합 은 단어 문 자 를 나타 내 는 반면 "\ W" 는 단어 가 아 닌 문 자 를 나타 낸다.
패턴 일치 문자 "/ /", 사실상 "m / /", "m / /" 는 "m \ # \ #", "m < >" 등 으로 바 꿀 수 있 습 니 다.
기본 모드 일치 문자 에 일치 하 는 것 은 "$" 변수 입 니 다.
"/ / i", i 는 대소 문자 와 무관 한 패턴 이 일치 함 을 표시 합 니 다.

  
  
  
  
  1. /Fred/i 

"/ / s", s 기본 변환 모드 의 점 수 는 문자 집합 [\ d \ \ D] 이기 때문에 점 수 는 줄 바 꿈 문자 와 일치 할 수 있 습 니 다.

  
  
  
  
  1. /Barney.*Fred/s  Barney Fred

"/ / x", x 는 모드 에 임의의 공백 부 호 를 삽입 하여 가 독성 을 증가 시 킬 수 있 습 니 다.

  
  
  
  
  1. / -? [0-9]+ \.? [0-9]* /x 

"/ / a" 는 ASCII 문자 집합 모드 로 일치 함 을 표시 합 니 다.

  
  
  
  
  1. /\w+/a  [a-zA-Z0-9_]

"/ / u" 는 유 니 코드 문자 집합 모드 로 일치 함 을 표시 합 니 다.

  
  
  
  
  1. /\w+/u  Unicode

"/ l" 은 로 컬 화 된 문자 집합 모드 로 일치 함 을 표시 합 니 다.

  
  
  
  
  1. /\w+/l  locale

"\ A" 닻 위치 가 문자열 과 일치 하 는 절대 시작,

  
  
  
  
  1. /\Astring/ 

"\ z" 닻 위치 가 문자열 의 절대 끝 과 일치 합 니 다. "\ Z" 는 뒤에 줄 바 꿈 문자 가 나타 날 수 있 습 니 다.

  
  
  
  
  1. /string\z/ 

"/ / m" 는 여러 줄 의 문자열 을 일치 시 켜 "$", "^" 와 결합 하여 사용 할 수 있 습 니 다.

  
  
  
  
  1. /fred$/m fred  
  2. /^barney/m barney

"\ b" 단어 닻 위치,

  
  
  
  
  1. /\bFred\b/  Fred,

"= ~" 바 인 딩 연산 자, 지정 한 문자열 과 패턴 이 일치 합 니 다. 바 인 딩 연산 자 를 사용 하지 않 으 면 기본적으로 $변수 일치

  
  
  
  
  1. string =~ /expr/ 

일치 하 는 횟수 를 지정 할 수 있 습 니 다.

  
  
  
  
  1. /a{3,15}/  a 3 15
  2. /fred{3,}/  fred 3

대체 용법 예시

  
  
  
  
  1. $_ = "green scaly dinosaur"
  2. s/(\w+) (\w+)/$2, $1/;  2 , "scaly, green dinosaur"
  3. s/^/huge,/;  huge, "huge,scaly,green dinosaur"
  4. s/,.*een//;  green , "huge dinosaur"
  5. s/\w+$/($`!)$&/;  "huge (huge !)dinosaur"
  6. s/\s+(!\W+)/$1 /;  "huge (huge!) dinosaur"
  7. s/huge/gigantic/;  "gigantic (huge!) dinosaur"

 s / / g, / g 를 전역 으로 교체 합 니 다.
대소 문자 바 꾸 기

  
  
  
  
  1. $_ = "I saw Barney with Fred" 
  2. s/(Barney|Fred)/\U$1/gi  Barney Fred
  3. s/(Barney|Fred)/\L$1/gi  Barney Fred
  4. s/(\w+) with (\w+)/\U$1\E with $2/ \U $1 , \E $1

 split 연산 자 는 필드 에 있 는 특정한 구분자 로 구 분 된 문자열 을 추출 하여 목록 변 수 를 저장 할 수 있 습 니 다.

  
  
  
  
  1. my @buddy = split /:/, "tom:jerry:nico:kid";  @buddy = ("tom", "jerry", "nico", "kid")
  2. $some_string = "This is\ta\t\ttest";
  3. my @str1 = split /\s+/, $some_string; \s+

 join 함수, 지정 한 구분자 들 을 다른 문자열 에 삽입 합 니 다.

  
  
  
  
  1. my $str2 = join "-", 2,3,4,5,6;  $str2 "2-3-4-5-6"

 
 

좋은 웹페이지 즐겨찾기