정규표현식 사용시 슬래시 or RegExp 객체를 사용합니다.

1
2
var pattern = /a/;
var pattern = new RegExp('a');

 

 

 

 정규식 메소드 사용

1
2
3
4
5
6
7
//RegExp.exec();
pattern.exec('abcdef'); // ["a"]
pattern.exec('bcdefg'); // null
 
//RegExp.test()
pattern.test('abcdef'); // true
pattern.test('bcdefg'); // false

 

 

 

 문자열 메소드 사용

1
2
3
//'abcdef'.match(pattern); // ["a"]
'bcdefg'.match(pattern); // null
'abcdef'.replace(pattern, 'A');  // Abcdef

 

 

 

Flag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//i(ignore) - 대소문자 무시
var pattern = /a/;
var patterni = /a/i;
"Abcde".match(pattern); // null
"Abcde".match(patterni); // ["A"]
 
// g
var pattern = /a/;
var patterng = /a/g;
"abcde".match(pattern); //["a"]
"abcdea".match(patterng); //["a","a"]
 
var pattern = /a/;
var patterng = /a/ig;
"aAbcdeaA".match(patterng); //["a","A","a","A"]

 

 

 

캡쳐

1
2
3
4
5
<p>var pattern = /(\w+)\s(\w+)/;
var str = "My superman";
var result = str.replace(pattern, "$2, $1");
console.log(result);//superman My
</p>

 

 

치환

1
2
3
4
5
6
7
8
​​
var urlPattern = /\b(?:https?):\/\/[a-z0-9-+&@#\/%?=~_|!:,.;]*/i;
var content = '티스토리 : http://tokigui.tistory.com/ 입니다.';
content += '네이버블로그: http://blog.naver.com/tokigui 입니다.';
var result = content.replace(urlPattern, function(url){
    return "<a href="" + url + "">" + url + "</a>";
});
console.log(result);
Posted by 달팽이맛나
,