>  기사  >  웹 프론트엔드  >  JavaScript 정규식 팁

JavaScript 정규식 팁

php中世界最好的语言
php中世界最好的语言원래의
2018-03-17 15:11:571395검색

이번에는 JavaScript정규식팁을 가져왔습니다. JavaScript정규식 사용 시 주의사항은 무엇인가요?

정규식은 문자열 일치 및 처리를 위한 강력한 도구로 널리 구현되어 다양한 언어에서 사용되었습니다. 이 글에서는 주로 JavaScript 정규식 기능을 요약하여 소개합니다. 도움이 필요한 분들은 참고하세요

/* 테스트 환경 : Chrome 63.0.3239.132 */

JS의 일반 개체 수정자의 선택적 값은 "i" "g" "m"입니다. 즉, 여러 줄 패턴의 전역 일치에 대한 대소문자 무시

지원됨 JS 메타문자의 정규식 사용:

1: 열거 대괄호 표현식, 범위 대괄호 표현식, 열거 반전 대괄호 표현식, 범위 반전 대괄호 표현식

2:. w W d D s S b B n r f v 888 uffff xff

3: n? n+ n* n{a} n{a,} n{a,b} 및 이러한 수량자의 탐욕스럽지 않은 패턴

4: ^ $ (?!) (?=) (?:)

기타:

1: JS에서 참조 그룹화에는 숫자를 사용하세요. '' 및 <>와 같은 명명된 그룹은 지원되지 않습니다.

2: 수량자 소유 모드는 지원되지 않습니다.

3: 역방향 둘러보기는 지원되지 않습니다

4: 대괄호 표현식의 복합 표현식은 다음을 지원합니다:

[abc0-9] [abcd] [dw^&] 등

5: gim mig gi ig와 같은 수정자 조합 지원 등. 순서 요구 사항 없음

JS 일반 객체 속성:

global: 객체가 전역 일치를 활성화하는지 여부, 부울 값

ignoreCase: 객체가 대소문자 무시를 활성화하는지 여부, 부울 값

multiline: 객체가 다중을 활성화하는지 여부 -line mode, 부울 값

lastIndex: 다음에 객체 일치가 시작되는 위치, 즉 이전 일치가 끝난 위치, 양의 정수

source: 정규 표현식의 소스 텍스트, 즉, /regexp/flag의 정규 표현식에는 수정 기호인 문자열이 포함되어 있지 않습니다

정규 표현식 만들기:

1: myreg = new RegExp(patternString[,globalFlags]);

2: myreg = /yourRegexp/globalFlags;

JS의 정규식에 대한 일반적인 메서드:

In RegExp object:

1: test(yourString);

정의: 문자열이 특정 패턴과 일치하는지 테스트합니다.

기타 참고 사항: 이 방법은 일반 객체의 "g" 플래그와 lastIndex 속성을 무시합니다(즉, 항상 처음부터 시작함). 패턴과 일치하는 문자열이 발견되면 일치가 성공합니다.

2: exec(yourString);

정의: 문자열에서 정규식 일치 항목을 검색합니다.

기타 지침: "g" 플래그가 켜져 있지 않으면 일반 개체의 lastIndex 속성을 수정하지 않고 한 번만 검색하고 아래 첨자 0, 인덱스 및 입력이 포함된 개체를 반환합니다. 속성은 match와 같습니다. "g"를 켜면 일반 개체의 lastIndex 속성을 이번에 찾은 하위 문자열의 끝 위치로 수정하고 "g"가 켜지지 않은 것과 동일한 개체를 반환합니다. (일반 객체의 lastIndex 속성을 수정하여 exec가 검색을 시작하는 위치를 지정할 수 있습니다.)

String 객체에서:

1: search(yourRegexpOrString);

정의: 지정된 하위 문자열과 일치하는 문자열을 검색합니다. 하위 문자열과 일치하는 정규식입니다.

기타 참고 사항: 이 메서드는 일반 객체의 "g" 플래그와 lastIndex 속성을 무시하고(즉, 항상 처음부터 시작), 발견된 첫 번째 문자의 위치를 ​​반환하고, 발견되지 않으면 -1을 반환합니다.

2: match(yourRegexpOrString);

정의: 문자열 내에서 정규 표현식과 일치하는 하나 이상의 문자열을 찾아 개체를 반환합니다. (laseIndex 속성 무시)

기타 지침: "g" 플래그가 켜지지 않으면 첫 번째로 일치하는 문자열만 검색되고 아래 첨자 0, 인덱스 및 입력을 포함하는 개체가 반환됩니다. 여기서 아래 첨자 0은 index. 와 동일하며, 입력은 문자열에 대한 참조입니다. "g"를 켜고 배열을 반환합니다. 배열의 길이는 일치하는 문자열의 수이고 각 요소는 각 일치 항목의 시작 문자 위치입니다.

3: replacement(yourRegexpOrString,placementString);

정의: 일부 문자를 문자열의 다른 문자로 바꾸거나 정규식과 일치하는 하위 문자열을 바꾸는 데 사용됩니다.

기타 참고사항: "g" 플래그가 없는 경우 한 번만 교체되고, 인수가 정규식 개체가 아닌 문자열인 경우 항상 한 번만 교체됩니다. yourRegexpOrString을 placeString으로 바꾼 결과인 문자열을 반환합니다. $ in PlacementString에는 특별한 용도가 있습니다. 다음 표를 참조하세요.

$1, $2, ..., $99 참조 그룹화는 정규 표현식에 캡처됩니다.
$& 이 경기의 텍스트입니다.
$` 이번에는 하위 문자열 왼쪽의 텍스트가 일치했습니다.
$' 이번에는 하위 문자열 오른쪽의 텍스트가 일치했습니다.
$$ $ 그 자체입니다.

이 메서드의 두 번째 매개변수는 함수일 수 있습니다. 이 함수는 일치할 때마다 호출되며, 함수 반환 값은 총 4개의 매개변수가 전달됩니다. -이 일치의 텍스트($&), 중간 매개변수는 하위 표현식 일치 문자열이고, 개수는 제한되지 않습니다($i). 끝에서 두 번째 매개변수는 이번에 일치하는 하위 텍스트의 아래 첨자 위치이며, 마지막 매개변수는 place 메소드를 실행하는 문자 문자열 자체.

4: Split(yourRegexpOrString[,howMany]);

정의: 문자열을 문자열 값 배열로 분할합니다.

기타 지침: arr.join(separatorString)의 역연산입니다. ""가 전달되면 각 문자가 배열로 분리됩니다. HowMany는 반환된 배열의 수를 지정합니다.

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 믿습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

JS 모방 고전 전설 게임

Webpack 개발 서버의 잘못된 핫 로딩을 처리하는 방법

위 내용은 JavaScript 정규식 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.