정규식은 문자열 일치 및 처리를 위한 강력한 도구로 널리 구현되어 다양한 언어에서 사용되었습니다. 이 글에서는 주로 JavaScript 정규식 기능을 요약해서 소개하고 있으니 참고하시면 도움이 될 것입니다. 모든 사람. .
/* 테스트 환경: Chrome 63.0.3239.132 */
JS에서 일반 개체 수정자의 선택적 값은 "i" "g" "m"입니다. 이는 다중의 전역 일치에 대한 대소문자를 무시함을 의미합니다. -라인 패턴
JS 정규식에서 지원되는 메타문자:
1: 열거 대괄호 표현식, 범위 대괄호 표현식, 열거 반전 대괄호 표현식, 범위 반전 대괄호 표현식
2: . 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: 대소문자 무시를 켤지 여부, 부울 value
multiline: 객체가 여러 줄 모드를 켤지 여부, 부울 값
lastIndex: 다음에 객체가 일치를 시작하는 위치, 즉 이전 일치가 끝나는 위치, 양의 정수
source : 정규식의 소스 텍스트, 즉 /regexp/flag regexp에는 수정자, 문자열이 포함되어 있지 않습니다.
정규식을 만듭니다.
1: myreg = new RegExp(patternString[,globalFlags])
2: myreg = /yourRegexp/globalFlags;
JS 정규 표현식 일반적인 표현식 방법:
RegExp 객체:
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는 반환된 배열의 수를 지정합니다.
관련 추천:
자바스크립트 정규식 및 계단식 효과에 대한 자세한 설명
위 내용은 JavaScript 정규식 함수 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!