2.JavaScript- regular expression
2.JavaScript- regular expression
1. 정규표현식 생성
<script type="text/javascript">
var pattern = /a/; // 정규표현식 리터럴
var pattern2 = new RegExp('a') // 정규표현식 객체 생성자
——————————————————
// 정규표현식 메소드
console.log(pattern.exec('abcd')); // ['a'] 반환
console.log(pattern.exec('bcd')); // nul
var pattern3 = /a./; // '.'은문자 아무문자 1개를 의미
console.log(pattern3.exec('abcd')); // ['ab'] 반환
console.log(pattern.test('abc')) // true 반환
console.log(pattern.test('bcd')) // false 반환 - 존재유무 확인할때
——————————————————
// 문자열 메소드
console.log('abc'.match(pattern)); //['a'] 반환
console.log('abc'.replace(pattern,'A')) // a -> A로 변환
——————————————————
// 정규표현식 옵션 설정
var xi = /a/;
console.log("Abc".match(xi)); // null 출력
var oi = /a/i; // i를 붙히면 대소문자를 구분하지 않는다
console.log("Abc".match(oi)); // ['A'] 출력
var xg = /a/;
console.log("aac".match(xg)); // a가 두개지만 하나만 출력
var og = /a/g; // 모든 결과 리턴
console.log("aac".match(og)); // ['a','a']
var ig = /a/ig; // 대소문자 구분x + 모든문자 검색
console.log("Aaac".match(ig)); // ['A','a','a']
——————————————————
// 캡처
// (\w+)\s(\w+)
// https://regexper.com/#%28%5Cw%2B%29%5Cs%28%5Cw%2B%29%0A
// () 는 group을 의미
// \w 는 A~Z a~z 를 의미
// + 는 수량자, A = 해당, AA = 해당
// \s 는 공백을 의미
var pattern = /(\w+)\s(\w+)/;
var str = "coding everybody";
var result = str.replace(pattern, "$2, $1"); // $로 group의 순서를 바꿀수있다
console.log(result);
——————————————————
// 치환
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);
</script>
Leave a comment