Last active
July 31, 2018 17:04
-
-
Save antaehyeon/d80d4b90225ce86c269f26bc1c65cc97 to your computer and use it in GitHub Desktop.
javascript regex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Javascript Regex(정규표현식) 자주 사용하는 모음 | |
// 숫자만 표현 | |
const onlyNumber = /^[0-9]*$/; | |
// true? false? | |
console.log(onlyNumber.test("타겟문자열")); | |
// 숫자만 골라내기 | |
const resultStr = targetString.replace(/[^0-9]/g,''); | |
console.log(resultStr); | |
// 특정 문자 카운트하기 | |
var temp = "This is a string."; | |
var count = (temp.match(/is/g) || []).length; // '[' 는 '\[' 를 넣어주면 됨 | |
alert(count); | |
// 숫자 3자리마다 콤마찍기 | |
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); | |
// 문자열에서 1 없애기 (응용) | |
'1101'.replace(/1/gi, ''); // 0 | |
/* | |
JavaScript 정규표현식을 이해해보자! | |
TEST CASE (끝에 줄바꿈이 있다고 가정) | |
"Luke Skywarker 02-123-4567 luke@daum.net(/n) | |
다스베이더 070-9999-9999 darth_vader@gmail.com(/n) | |
princess leia 010 2454 3457 leia@gmail.com";(/n) | |
*/ | |
/* | |
MODE : 숫자 하나씩 | |
OUTPUT : [ '0','2','1','2','3','4','5','6','7' ... | |
*/ | |
const regex = /\d/g | |
/* | |
MODE : 연속된(+) 숫자를 분할 | |
OUTPUT : [ '02', '123', '4567', '070', '9999', '9999', '010', '2454', '3457' ] | |
*/ | |
const regex = /\d+/g; | |
/* | |
MODE : 숫자 문자가 아닌 문자에 일치 (줄바꿈을 제거하진 않음) | |
OUTPUT : [ 'Luke Skywarker ', | |
'-', | |
'-', | |
' luke@daum.net\n다스베이더 ', | |
'-', | |
'-', | |
' darth_vader@gmail.com\nprincess leia ', | |
' ', | |
' ', | |
' leia@gmail.com' ] | |
*/ | |
const regex = /\D+/g; | |
/* | |
MODE : 공백 문자가 아닌 연속된(+) | |
OUTPUT : [ 'Luke', | |
'Skywarker', | |
'02-123-4567', | |
'luke@daum.net', | |
'다스베이더', | |
'070-9999-9999', | |
'darth_vader@gmail.com', | |
'princess', | |
'leia', | |
'010', | |
'2454', | |
'3457', | |
'leia@gmail.com' ] | |
*/ | |
const regex = /\S+/g; | |
/* | |
MODE : 밑줄 문자를 포함한 연속된 영숫자 문자에 일치 = [A-Za-z0-9_] | |
OUTPUT : ["Luke","Skywarker","02","123","4567","luke","daum","net","070","9999","9999","darth_vader","gmail","com","princess","leia","010","2454","3457","leia","gmail","com"] | |
*/ | |
const regex = /\w+/g; | |
/* | |
MODE : 연속된 비 단어 문자에 일치 = [^A-Za-z0-9_] | |
OUTPUT : [" "," ","-","-"," ","@",".","\n다스베이더 ","-","-"," ","@",".","\n"," "," "," "," "," ","@","."] | |
*/ | |
const regex = /\W+/g; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment