정규 적 인 그런 일 들.
1931 단어 javacsript
통상 적 인 상황 에서 정규 에는 두 가지 서법 이 있다.
하 나 는 글자 의 양 형식 이 고 하 나 는 구조 함수 의 형식 이다.
var reg = /adf/i;
var reg = new RegExp("adf", "i");
그러나 두 가지 기능 은 같 지만 두 가 지 는 차이 가 있 습 니 다. 글자 의 양 형식의 표현 식 입 니 다. 당신 이 정의 할 때 새로 만 든 표현 식 입 니 다. 후 자 는 실 행 될 때 새로 만 든 표현 식 (구조 함수 니까! 하하) 입 니 다. 구조 함수 의 형식 에 대해 말하자면 두 개의 문자열 파 라미 터 를 받 습 니 다. 하 나 는 정규 주 체 를 정의 하 는 데 사 용 됩 니 다.하 나 는 수식 용 (i, m, g) 이다.
정규 가 하나의 대상 이 라면 그 는 반드시 자신의 속성 과 방법 이 있 을 것 이다.
ignoreCase: 불 값 을 되 돌려 줍 니 다. i 수정자 가 설정 되 어 있 는 지 확인 하 십시오. (일치 할 때 대소 문 자 를 무시 합 니 다.)
global: 불 값 을 되 돌려 줍 니 다. g 수정자 가 설정 되 어 있 는 지 확인 하 십시오.
multiline: 불 값 을 되 돌려 줍 니 다. m 수정자 가 설정 되 어 있 는 지 확인 하 십시오.
물론 상기 세 가지 속성 은 보기 만 할 뿐 입 니 다. 진정 으로 당신 이 조작 할 수 있 는 것 은 다음 과 같은 두 가지 속성 입 니 다.
lastIndex: 다음 검색 (일치) 을 시작 하 는 위 치 를 되 돌려 줍 니 다. 이 속성 은 읽 기와 쓰기 가 가능 합 니 다. 어디서부터 일치 하고 검색 하 는 지 규정 할 수 있 습 니 다. 그러나 이 속성 은 정규 g 수정자 가 설정 되 어 있 을 때 만 유용 합 니 다.
source: 정규 표현 식 의 문자열 형식 (/ 안의 내용) 을 되 돌려 줍 니 다. 솔직히 자주 사용 되 지 않 습 니 다.
남 은 시간 은 정규 대상 의 두 가지 용법 을 살 펴 보 자.
하 나 는 문자열 과 일치 하 는 데 사 용 됩 니 다: reg. test (string). 현재 문자열 이 정규 패턴 에 부합 할 수 있 는 지 를 나타 내 는 불 값 을 되 돌려 줍 니 다. 예 를 들 어:
var reg = /adf/g;
var reg1 = new RegExp("adf", "i");
var str = "adfadfgtggtgt";
alert(reg.lastIndex)//0, 0
alert(reg.test(str));//true
alert(reg.lastIndex)//3
alert(reg.test(str));//true adf
alert(reg.lastIndex)//6
alert(reg.test(str));//false
그러나 정규 표현 식 에 g 수정자 가 있 을 때 전체 가 일치 하 는 것 을 표시 합 니 다. 전체 가 일치 하 는 이상 일반적인 상황 에서 한 번 일치 하지 않 습 니 다. 그러면 모든 test 방법 은 지난번 일치 가 끝 난 위치 부터 일치 합 니 다. 물론 이 럴 때 lastIndex 로 어디서부터 일치 하 는 지 규정 할 수 있 습 니 다.
메모: 정규 표현 식 이 빈 문자열 이 라면 모든 문자 와 일치 합 니 다.
하 나 는 문자열 을 매개 변수 로 합 니 다: string. match (reg);