이번에는 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 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
Webpack 개발 서버의 잘못된 핫 로딩을 처리하는 방법
위 내용은 JavaScript 정규식 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!