JS 정규 표현 식 노트

6921 단어
정규 표현 식 (regular expression) 은 문자열 이 일치 하 는 패턴 (pattern) 을 설명 합 니 다. 피 드 문자열 이 있 는 지, 일치 하 는 하위 문자열 을 교체 하거나 특정한 조건 에 맞 는 하위 문자열 을 꺼 내 는 지 확인 할 수 있 습 니 다.
정칙
묘사 하 다.
정칙
묘사 하 다.
\f
일치 페이지 바 꾸 기 문자
\t
맞 춤 표 부호
일치 줄 바 꿈 문자
\v
정합 수직 탭 문자
\r
매 칭 리 턴
\s
하나의 빈 칸 과 일치 합 니 다. [\f
\r\t\v]
과 같 습 니 다.
\S
공백 문자
\d
정규 에 숫자 를 표시 하 다
\w
단어 문 자 를 나타 내 는 것 은 문자 집합 [a - zA - Z0 - 9] 과 같다.
\
정규 대상 을 만 들 때 의 미 를 바 꿔 야 합 니 다.
+
에서
^
뒤에 나타 나 는 숫자 는 반드시 시작 에 있어 야 한 다 는 것 을 나타 낸다.
$
앞 에 나타 난 숫자 는 반드시 끝 에 나타 나 야 한 다 는 것 을 나타 낸다.
 
 
 
 
 
 
 
 
 
 
  
g 는 패턴 수정 문자 로 전체 문자열 에서 여러 번 찾 았 음 을 표시 합 니 다.
match 방법 으로 reg 정규 와 일치 하 는 내용 을 찾 습 니 다.
"ab23839cd".match(/\d+/)

공백 \ s (스페이스 바 탭 등 포함)\f 페이지 바 꾸 기 문자 와 일치 합 니 다.
줄 바 꾸 기 문자 와 일치 합 니 다. \r 리 턴 문자 와 일치 합 니 다. \t 수직 탭 문자 와 일치 합 니 다.\v 하나의 빈 칸 과 일치 하 며 \s 와 같 습 니 다.예: 예 1:
var reg = /\s.+/;
var str='This is a test String.';
alert(reg.exec(str));

되 돌려 주기 [\f
\r\t\v]
는 첫 번 째 빈 칸 과 그 후의 모든 비 줄 문자 와 일치 한 다 는 뜻 입 니 다.
마찬가지 로 “is a test String.” 비 스페이스 바 문 자 를 표시 합 니 다.예 2:
var reg = /\S+/;
var str='This is a test String.';
alert(reg.exec(str));

일치 하 는 결 과 는 \S 입 니 다. 첫 번 째 빈 칸 을 만 났 을 때 바로 일치 하지 않 습 니 다.
정규 에서 가장 많이 사용 되 는 것 은 예 3: This 이다. //임의의 빈 문자 나 빈 문자 와 일치 합 니 다. 아무것도 입력 하지 않 았 거나 빈 칸, 리 턴, 줄 바 꾸 기 등 문자 만 입력 하면 일치 합 니 다.이렇게 하면 사용자 가 내용 을 정확하게 입력 했 는 지 검증 할 수 있다.이것 은 입력 상자 에 유효한 문 자 를 썼 는 지 검증 하 는 데 사 용 됩 니 다. 사용 방법 은 다음 과 같 습 니 다.
var  reg=/^\s*$/;
if(reg.test(value)){
  alert('      ');
  return false;
}

 
단일 문자 \ wvar reg=/^\s*$/; 단 어 를 나타 내 는 문 자 는 문자 집합 \w( w) 과 같다.예 를 들 면:
var reg = /\w+/;
var str='wanjinfen';
alert(reg.exec(str));

모든 문자 가 단어 문자 이기 때문에 완전한 wanjinfen 문자열 을 되 돌려 줍 니 다.
var reg = /\w+/;
var str='.className';
alert(reg.exec(str));

그 결과 문자열 에 있 는 [a-zA-Z0-9_] 과 일치 하 는 것 으로 나 타 났 으 며, 첫 번 째 className 의 유일한 비 단어 문자 만 일치 하지 않 았 습 니 다.
var reg = /\w+/;
var str='    ';
alert(reg.exec(str));

단어 문자 로 중국어 와 일치 하려 고 시도 하면 자 연 스 럽 게 통 하지 않 습 니 다. 되 돌아 갑 니 다.  “.”null 비 단어 문 자 를 나타 내 고 같은 효 과 를 가진다 \W( W)
var reg = /\W+/;
var str='    ';
alert(reg.exec(str));

중국어 가 비 단어 문자 라 고 할 수 있 기 때문에 완전한 문자열 을 되 돌려 줍 니 다.
 
그룹 과 그룹 참조
형식 은 다음 과 같 습 니 다: / (하위 정규 표현 식) \ \ 1 / 은 여전히 예 로 설명 합 니 다.
1. 예
var reg = /\w/;
var str='zhufengpeixun';
alert(reg.exec(str));
//  z

2. 예
var reg = /(\w)(\w)/;
var str='zhufengpeixun';
alert(reg.exec(str));

돌아 가기 [^a-zA-Z0-9_] , zh,z,h 는 전체 정규 가 일치 하 는 내용 입 니 다. zh 는 첫 번 째 괄호 안의 서브 정규 표현 식 이 일치 하 는 내용 이 고 h 는 두 번 째 괄호 가 일치 하 는 내용 입 니 다.
3. 예
var reg = /(\w)\1/;
var str='zhufengpeixun';
alert(reg.exec(str));

돌아 갑 니 다 z.여기 null 는 역방향 인용 이 라 고 하 는데 첫 번 째 괄호 안의 서브 정규 표현 식 이 일치 하 는 내용 을 나타 낸다.위의 예 에서 첫 번 째 괄호 안의 “\1” 은 z 와 일치 하기 때문에 (\w) 역시 z 를 나타 내 고 남 은 문자열 에서 자 연 스 럽 게 z 를 찾 을 수 없다.두 번 째 예 와 비교 해 보면 “\1”“\1” 이 아니 라 “ 1 ” 와 같다 는 것 을 알 수 있다.
var reg = /(\w)\1/;
var str='bbs.zhufengpeixun.cn';
alert(reg.exec(str));

이 정규 가 일치 합 니 다 “ ”.마찬가지 로 앞 에 몇 개의 하위 정규 표현 식 이 있 으 면 우 리 는 몇 개의 역방향 인용 을 사용 할 수 있다.예 를 들 면:
var reg = /(\w)(\w)\2\1/;
var str='woow';
alert(reg.exec(str));

첫 번 째 괄호 는 w 와 일치 하고 두 번 째 괄호 는 bb,b 와 일치 하 며 o\2\1 문자열 의 마지막 두 글자 와 딱 일치 하기 때 문 입 니 다.
괄호 ow ,하위 표현 식
앞에서 우 리 는 괄호 문 제 를 한 번 토론 한 적 이 있 는데, 아래 의 이 예 를 보십시오.
var reg = /^(b|c).+/;
var str='bbs.blueidea.com';
alert(reg.exec(str));

이것 은 바로 b 나 c 로 시작 하 는 문자열 만 일치 하고 줄 바 꿈 문자 까지 일치 하 는 것 을 실현 하기 위 한 것 입 니 다. 그러나.위 에서 우 리 는 이미 보 았 습 니 다. "\ 1" 을 사용 하여 이 괄호 안의 정규 표현 식 과 일치 하 는 내용 을 역방향 으로 참조 할 수 있 습 니 다.또한 exec 방법 은 이 글자 정규 표현 식 의 일치 결 과 를 되 돌아 오 는 결과 에 저장 합 니 다.
 미완이다
다음으로 전송:https://www.cnblogs.com/minjh/p/9512327.html

좋은 웹페이지 즐겨찾기