> 웹 프론트엔드 > JS 튜토리얼 > javascript_javascript 스킬에서 표현식 사용법 정리

javascript_javascript 스킬에서 표현식 사용법 정리

WBOY
풀어 주다: 2016-05-16 16:48:35
원래의
1808명이 탐색했습니다.

형님, 최근에 자바스크립트를 배우고 있는데, 정규식을 배우다가 지식 포인트가 좀 헷갈리는 것을 발견해서 정리해보려고 블로그를 작성하게 되었습니다.

정의

JavaScript에서 reg exp를 정의하는 방법에는 두 가지가 있습니다.

1) 새 exp 사용: var exp1 = new exp("abc")

2) 두 /s 사이에 직접 패턴을 배치합니다. var exp2 = /abc/ //참고. . 큰따옴표가 없습니다. 추가하면 문자열이 됩니다.

특수문자

눈으로 확인해보면 특수문자는 Perl의 것과 동일합니다. . 그냥 직접 사용하세요

d 숫자 문자
w 영숫자 문자(“단어 문자”)
s 공백 문자(공백, 탭, 줄바꿈 등)
D 숫자가 아닌 문자
W 영숫자가 아닌 문자
S 공백이 아닌 문자
. 마침표는 줄 바꿈을 제외한 모든 문자와 일치합니다.
기억하는 방법은 매우 간단합니다.

d = 숫자 숫자

w = 단어 문자입니다

s = 공백 공백입니다

대문자는 모두 반전됩니다. .

괄호 []

괄호 안에 패턴을 넣는 것은 어떤 문자와도 일치하는 한 참이라는 의미입니다. (java나 Perl과 동일)

예를 들어

코드를 복사하세요. 코드는 다음과 같습니다. 🎜>
console.log(/[01]/.test("023424")) // true

console.log(/[01]/.test("13424" )) ; // true

console.log(/[01]/.test("23424")) // false

괄호 ()

는 괄호 안에 있는 모든 항목이 true여야 함을 의미합니다.

예를 들어

console.log(/[01]/.test("013424")) // true

console.log(/[01]/. test("13424")); // 거짓

console.log(/[01]/.test("230424")) // 거짓

console.log(/[ 01]/.test("230142401 ")); // true

정량자

는 java와 동일합니다. . 이 시계는 아주 좋습니다. . 형님 저는 항상

을 즐겨 사용합니다.
Greedy Reluctant Possessive Meaning
X? X?? X? X, once or not at all
X* X*? X* X, zero or more times
X X ? X X, one or more times
X{n} X{n}? X{n} X, exactly n times
X{n,} X{n,}? X{n,} X, at least n times
X{n,m} X{n,m}? X{n,m} X, at least n but not more thanm times

표현식 객체 함수

1) test 매우 간단합니다. 테스트할 문자열을 test(...)에 넣으면 이 함수는 true/false를 반환합니다. 일치를 나타냅니다. /unmatch

2) exec, 일치하는 문자열이 없으면 이 함수는 null을 반환합니다. 찾으면 배열을 반환합니다. 여기에는 일치하는 문자열이 순서대로 포함됩니다.

3 ) 문자열 .replace(expression1, string1) 이 함수는 표현식의 일치 부분을 string1로 대체합니다. string1에서 이전 표현식의 괄호로 묶인 그룹

을 사용하여 해당 부분을 대체할 수 있습니다. 예를 들어 "co-ol".replace(/[w] -[w] /,"$2-$1"); //"ol-co"는 $9까지 사용할 수 있습니다

4)String. 교체(표현식, 함수) 이는 향상된 버전이며 함수를 통해 원하는 출력을 정의할 수 있습니다. 구체적인 사용법은 여기에 나와 있지 않습니다.

링크를 열려면 클릭하세요

reg 표현식의 동적 생성
reg exp에서 사용하려는 항목을 다른 사용자만 알 수 있는 경우를 참조하세요. 런타임에 이 메서드를 적용하여
reg exp를 생성할 수 있습니다. 실제로 문자열을 사용하여 reg exp의 모양을 만든 다음 Exp의 생성자를 사용하면 됩니다. (글 시작 부분에 언급)

예:

코드 복사 코드는 다음과 같습니다. :
var name = "dear"

"oh, my dear".replace(new Exp(name), "god") // 맙소사

그러나 이름에 정규식에 사용할 수 있는 특수 문자가 있으면 위의 방법이 잘못되는 경우가 많습니다.
이 경우 입력 문자열의 각 문자 앞에 백슬래시를 추가할 수 있습니다. 예를 들어 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
var name = df[]vxv;
var expName = name.replace("/[^/w/s]/g"," \$&");
"내 이름은 df[]vxv".replace(new Exp(name), "Bob"); // 내 이름은 Bob입니다

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿