const re1 = new RegExp('hey');
const rel = /hey/;
String안에 RegExp가 포함되어 있는지 확인
re1.test('hey') // true
re1.test('blabla hey blabla') // true
re1.test('he') // false
hey
로 시작하는 문자열을 찾으려면 ^
를 사용한다./^hey/.test('hey blabla') // true
/^hey/.test('blabla hey') // false
hey
로 끝나는 문자열을 찾으려면 $
를 사용한다./hey$/.test('sadkjfhdskjfhey') //true
/hey$/.test('heyadsfklsdjlfk') // false
^
와 $
를 합쳐서 사용하면 정확히 일치하는 문자열을 찾는다./^hey$/.test('hey') // true
/[a-z]/ //a, b, c, ... , x, y, z
/[A-Z]/ //A, B, C, ... , X, Y, Z
/[a-c]/ //a, b, c
/[0-9]/ //0, 1, 2, 3, ... , 8, 9
/[A-Za-z0-9]/
/[A-Za-z0-9]/.test('a') // true
/[A-Za-z0-9]/.test('1') // true
/[A-Za-z0-9]/.test('A') // true
/^[A-Za-z0-9]$/.test('a') // true
/^[A-Za-z0-9]$/.test('Aa') // false
/^[A-Za-z0-9]$/.test('1') // true
/^[A-Za-z0-9]$/.test('A1') // false
//^으로 시작하고 $끝나는 경우 문자열 범위에서 하나의 문자만 확인
/[^A-Za-z0-9]/.test('a') // false
/[^A-Za-z0-9]/.test('A') // false
/[^A-Za-z0-9]/.test('0') // false
/[^A-Za-z0-9]/.test('@') // true
//범위내에 ^이 들어가면 무효화 되므로 패턴 부정
/hey|ho/.test('hey') //true
/hey|ho/.test('ho') //true
/hey|ho/.test('hey ho') //true
/^\d$/.test('1') // true
/^\d$/.test('12') // false
// 하나 이상의 항목이 일치
/^\d+$/.test('1') //true
/^\d+$/.test('1231') //true
/^\d+$/.test('1a') //false
/^\d+$/.test('') //일치하는 항목이 1개 미만이므로 false
// 0개 이상의 항목이 일치
/^\d*$/.test('') //일치한 항목이 0개이지만 true
/^\d*$/.test('123') // true
/^\d*$/.test('1aaa') // false
//{n}은 n만큼의 길이 문자열 확인
/^\d{3}$/.test('123') // true
/^\d{3}$/.test('12') // false
//{n,m}은 길이가 n<= <= m인지 확인한다.
/^\d{3,5}$/.test('123') // true
/^\d{3,5}$/.test('12345') // true
/^\d{3,5}$/.test('12') // false
/^\d{3,5}$/.test('123456') // false
//위 코드에서 m을 삭제하면 최소 길이만 맞출 수 있다.
/^\d{3,}$/.test('123') // true
/^\d{3,}$/.test('123353453') // true
/^\d{3,}$/.test('12') // false
// 3자리 숫자 다음에 하나 이상의 영숫자 문자를 찾는다.
/^(\d{3})(\w+)$/.test('123sdjfhsajk') //true
/^(\d{3})(\w+)$/.test('123') // false
//짝수 자리의 숫자를 찾는다.
/^(\d{2})+$/.test('12') //true
/^(\d{2})+$/.test('123') //false
/^(\d{2})+$/.test('1234') //true
null
반환 '123s'.match(/^(\d{3})(\w+)$/)
// Array ['123s', '123', 's']
(^(\d{3})(\w+)$).exec('123s')
// Array ['123s', '123', 's']
/^(\d{3})(\s)?(\w+)$/.exec('123 s') //Array [ "123 s", "123", " ", "s" ]
/^(\d{3})(\s)?(\w+)$/.exec('123s') //Array [ "123s", "123", undefined, "s" ]
const date = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/
const result = data.exec('2015-01-02')
//result.groups.year === '2015'
//result.groups.month === '01'
//result.groups.day === '02'
'Hello world'.replace(/world/, 'dog')// 'Hello dog'
// g플래그를 이용하여 여러 항목 대체하기
'My dog is good dog'.replace(/dog/g, 'cat') // 'My cat is good cat'
// 그룹을 이용하여 문자열 위치 바꾸기
'Hello, world!'.replace(/(\w+), (\w+)!/, '$2: $1!!!')//world: Hello!!!
아래 사진처럼 함수를 이용할 수 있다.
이메일 검사하기
'jing07161@gmail.com'.match(/(\S+)@(\S+)/)
// ["jing0716@gmail.com", "jing0716", "gmail.com", index: 0, input: "jing0716@gmail.com", groups: undefined]
(/(\S+)@(\S+)).exec('jing07161@gamil.com')
// ["jing07161@gmail.com", "jing07161", "gmail.com", index: 0, input: "jing07161@gmail.com", groups: undefined]