[JS] 정규표현식

다인·2022년 7월 21일
0

JavaScript

목록 보기
4/9

정규표현식(regular expression) : 문자열에서 특정한 문자를 찾아내는 도구

a를 찾고자 함

정규표현식 리터럴

var pattern = /a/; 

정규표현식 객체 생성자

var pattern = new RegExp('a');

정규표현식 메소드 실행

정규표현식을 컴파일해서 객체를 만든 뒤, 문자열에서 원하는 문자를 찾아내야 함.

RegExp.exec('실행대상')

console.log(pattern.exec('abcdef')); //abcdef 문자열에서 a를 찾고 싶음 
									// 문자열 a를 값으로 하는 배열 리턴 ["a"]

var pattern1 = /a./;
console.log(pattern1.exec('abcdef')); //a. :a로 시작하는 문자 ["ab"]

console.log(pattern.exec('bcedfg')); //a가 존재하지 않으므로 결과값 null

RegExp.test('실행대상')

리턴값 boolean

pattern.test('abcdef'); //true
patter.test('bcdefg');  //false

문자열 메소드 실행

String.match()

RdgExp.exec()와 비슷

var pattern = /a/;
var str = 'abcdef';
var str1 = 'bcdefg';

str.match(pattern);  // ["a"]
str1.match(pattern); // null

String.replace()

문자열에서 패턴을 검색해서 이를 변경한 후에 변경된 값을 리턴

str.replace(pattern, 'A'); // "Abcedf"

옵션

i 대소분자 구분안함

var xi = /a/;
var oi = /a/i;  // i 추가

"Abcde".match(xi); // null
"Abced".match(oi); // ["A"]

g 검색된 모든 결과 리턴

var xg = /a/;
var og = /a/g;  // g

"abcdea".match(xg); // ["a"]
"abcdea".match(og); // ["a", "a"]

// i,g 동시에 사용 가능
var ig = /a/ig; 
"AabcdAa".match(ig);  //["A","a", "A", "a"]

캡쳐

괄호안의 패턴을 마치 변수처럼 재사용 가능. $사용

var pattern = /(\w+)\s(\w+)/;
var str = "Hello world";
var result = str.replace(pattern, "$2, $1");

console.log(result); // world, Hello

치환

var urlPattern = /\b(?:https?):\/\/[a-z0-9-+&@#\/%?=~_|!:,.;]*/gim;
var content = '생활코딩 : http://opentutorials.org/course/1 입니다. 네이버 : http://naver.com 입니다. ';
var result = content.replace(urlPattern, function(url){
    return '<a href="'+url+'">'+url+'</a>';
});

console.log(result);
profile
개발자국

0개의 댓글