잊어버리기 쉬운 JS 정규 표현 복습
10325 단어 JavaScript프런트엔드정규 표현식tech
이 글은 정규 표현식의 상세한 기재 방법을 생략하였다.
나는 이 보도의 경과를 쓰고 싶다
정규 표현식 자체는 자주 사용하지만 잊어버리기 쉽기 때문이다.
정규적 표현은 자바스크립트가 어떻게 되든 다양한 언어를 사용할 수 있고 개발자라면 한 번 접촉했을 것이다.
용례에서 입력 값의 검증(비밀번호, URL 형식, 주소, 우편번호, etc), 편집에서 특정한 기술을 검색하고 로그를 분석하는 등 다른 것이 많아서 매우 광범위하다는 것을 알 수 있다.
이렇게 통용되는 지식이지만 개인의 기법은 직관적이지 않아 기억할 수 없는 데다 팀원들과 주변 엔지니어들도 같은 목소리를 내고 있어 회고용으로 쓰려고 한다.
그럼 본론으로 들어갑시다.
무엇이 정규 표현식입니까?
이것은 문자라고 불리는 기호군을 이용하여 검색, 교체에 전문적으로 사용하는 표현 방법이다.
원문자는 무엇입니까?
흔히 볼 수 있는 정규 표현식 문자는 다음과 같습니까?내 생각엔
^
、 $
、 ?
.
、 +
、 *
/
、 \
、[]
、 {}
、 ()
→상세한 기법에 관하여 다음mdn의 보도를 총괄할 수 있다.JavaScript의 정규 표현식을 사용하는 방법
메서드
설명
반환값
exec()
문자열에서 일치 찾기결과 정렬.일치하지 않으면null
test()
문자열의 일치 확인진가
match()
문자열에서 일치 찾기결과 정렬.일치하지 않으면null
matchAll()
문자열에서 일치 찾기캡처 그룹 포함이동 전화
search()
문자열의 일치 확인일치된 위치.일치하지 않으면. - 1.
replace()
문자열에서 일치하는대체 문자열
replaceAll()
문자열에서 일치하는 모든 내용 바꾸기대체 문자열
split()
정규 표현식 또는 고정 문자열을 사용하여 문자열 분할분할된 배열
생각나는 용례를 써봤어요.
문자열을 배열로 분할하기
const str = 'akita,tokyo osaka';
//「,(カンマ)」「空白」を区切り文字に仕様
const result = str.split(/,|\s/);
console.log(result);
=> ['akita', 'tokyo', 'osaka']
우편번호의 양식을 확인하고 싶습니다
const str1 = "114-0211";
const str2 = "1140211";
const pattern = /^[0-9]{3}-[0-9]{4}$/;
console.log(pattern.test(str1));
=> true
console.log(pattern.test(str2));
=> false
특정 모드가 포함되어 있는지 아닌지를 판단하고 싶어요.
const str1 = "This is lemon";
const str2 = "This is apple";
const pattern = /^(?!.*apple).*$/;
console.log(pattern.test(str1));
=> true
console.log(pattern.test(str2));
=> false
(한 종류)의 부분은 부정 예독의 설명으로'시작이 어떤 문자열과 일치하지 않음(없을 수 있음)+지정 모드가 일치하지 않음'을 검사할 수 있습니다.그 뒤에라는 뜻이므로 지정된 문자열은 포함되지 않습니다.메타데이터 도피
const str = 'a$a'
// g で全ての一致したメタ文字に対し、第二引数で一致した値をキャプチャし、\を付与
const result = str.replace(/[/\^$.*+?()[\]{}|]/g, '\\$&')
console.log(result)
=> 'a\$a'
일치하는 문자열을 잡고 $&
의 형식으로 얻어 정규 표현식에서 반복적으로 사용하여 상기 처리를 실현했다.기법 공연(번외편)
자바스크립트의 RegExp 대상을 생성하려면 소양기법과 구조기기법 두 가지 방법이 있는데 어느 것을 사용하느냐에 따라 성능이 다르다.
이 기사를 쓰면서 알게 된 일이기 때문에 앞으로 의식적으로 지역별로 나눠 쓰게 된다.
const re = /ab+c/i; // リテラル記法
const re = new RegExp(/ab+c/, 'i') //コンストラクター記法
상량기법Reference
이 문제에 관하여(잊어버리기 쉬운 JS 정규 표현 복습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/sohhakasaka/articles/5f3efb3e0992e3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)