객체 지향 JavaScript — RegExp
지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.
JavaScript는 부분적으로 객체 지향 언어입니다.
JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.
이 기사에서는
RegExp
객체를 살펴보겠습니다.정규 표현식
RegExp
생성자를 사용하면 텍스트를 검색하고 조작할 수 있습니다.JavaScript는 정규식을 정의하기 위해 Perl 5 구문을 사용합니다.
정규식은 텍스트를 사용하고 일치시키는 패턴으로 구성됩니다.
패턴 사용 방법에 대한 추가 지침을 제공하기 위해 선택적으로 0개 이상의 수정자를 포함할 수 있습니다.
예를 들어 다음과 같이 작성하여
RegExp
생성자를 사용할 수 있습니다.const re = new RegExp("c.*t");
c
와 t
사이에 일부 문자가 있는 단어와 일치하는 정규식이 있습니다..
는 모든 문자를 의미합니다.*
는 뒤에 오는 것보다 앞서는 것을 의미합니다.정규식을 변경하기 위해 플래그라는 수정자를 추가할 수 있습니다.
일부 플래그는 다음과 같습니다.
g
글로벌. i
대소문자 무시용 m
멀티라인용따라서 다음이 있는 경우:
const re = new RegExp("c.*t", 'gmi');
global
속성과 전역적으로 일치하는지 확인할 수 있습니다.따라서
re.global
는 true
를 반환해야 합니다.속성을 설정할 수 없으므로 값을 할당해도 값이 변경되지 않습니다.
RegExp 메서드
RegExp
인스턴스에는 몇 가지 메서드가 있습니다.여기에는
test
및 exec
메서드가 포함됩니다.test
문자열이 정규식 패턴과 일치하는지 확인합니다.그리고
exec
는 정규식과 일치하는 문자열을 반환합니다.실행하여
test
를 호출할 수 있습니다./c.*t/.test("CoffeeScript");
그러면
false
를 얻습니다.그러나 우리는 다음과 같이 부릅니다.
/c.*t/i.test("CoffeeScript");
대소문자를 구분하지 않기 때문에
true
를 얻습니다.exec
로 전화하려면 다음과 같이 작성할 수 있습니다./c.*t/i.exec("CoffeesScript")[0];
그런 다음 우리는 다음을 얻습니다.
"CoffeesScript"
정규식을 인수로 받아들이는 문자열 메서드
일부 문자열 메서드는 정규식을 인수로 받아들입니다.
여기에는 다음이 포함됩니다.
match
— 일치하는 배열을 반환합니다search
— 첫 번째 검색 위치를 반환합니다replace
— 일치하는 텍스트를 다른 문자열로 대체split
— 문자열을 요소 배열로 분할할 때 정규식을 허용합니다. 정규식을
search
및 match
에 전달할 수 있습니다.예를 들어 다음과 같이 작성할 수 있습니다.
'JavaScript'.match(/a/);
그러면
['a']
를 얻습니다.우리가 있다면”
'JavaScript'.match(/a/g);
그런 다음 우리는 다음을 얻습니다.
["a", "a"]
우리가 쓰는 경우 :
'JavaScript'.match(/J.*a/g);
그러면 우리는 다음을 얻습니다.
["Java"]
search
로 전화하면 :'JavaScript'.search(/J.*a/g);
그런 다음 일치하는 문자열의 위치인 0을 얻습니다.
replace
메서드를 사용하면 일치하는 텍스트를 다른 문자열로 바꿀 수 있습니다.예를 들어 다음과 같이 작성하여 모든 소문자를 제거할 수 있습니다.
'JavaScript'.replace(/[a-z]/g, '')
그런 다음 우리는 다음을 얻습니다.
"JS"
$&
자리 표시자를 사용하여 일치 항목에 추가할 수도 있습니다.예를 들어 다음과 같이 작성할 수 있습니다.
'JavaScript'.replace(/[A-Z]/g, '-$&')
그런 다음 우리는 다음을 얻습니다.
"-Java-Script"
replace
는 우리 방식대로 조작된 일치 항목을 반환하도록 하는 콜백을 받을 수 있습니다.예를 들어 다음과 같이 작성할 수 있습니다.
'JavaScript'.replace(/[A-Z]/g, (match) => {
return `-${match.toLowerCase()}`;
})
그런 다음 우리는 다음을 얻습니다.
"-java-script"
대문자를 소문자로 바꾸고 그 앞에 대시를 추가했습니다.
콜백의 첫 번째 매개변수는
match.
마지막은 검색 중인 문자열입니다.
마지막으로 앞의 것은
match
의 위치입니다.그리고 나머지 매개변수에는 정규식 패턴의 그룹과 일치하는 문자열이 있습니다.
split
메서드를 사용하면 문자열을 분할할 수 있습니다.[pattern to split by.
예를 들어 다음과 같이 작성합니다.
const csv = 'one, two,three ,four'.split(/s*,s*/);
그런 다음 우리는 다음을 얻습니다.
["one", "two", "three", "four"]
우리는 그것을 얻기 위해 공백으로 문자열을 나눕니다.
결론
RegExp
생성자를 사용하면 문자열에서 패턴을 찾아 작업할 수 있습니다.
Reference
이 문제에 관하여(객체 지향 JavaScript — RegExp), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/object-oriented-javascript-regexp-52h4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)