본문 바로가기
개발팁/정규표현식

자주 쓰는 정규표현식 모음

by pikisvill 2021. 12. 8.

비밀번호 매칭 정규표현식

https://stackoverflow.com/questions/19605150/regex-for-password-must-contain-at-least-eight-characters-at-least-one-number-a

 

Regex for password must contain at least eight characters, at least one number and both lower and uppercase letters and special

I want a regular expression to check that: A password contains at least eight characters, including at least one number and includes both lower and uppercase letters and special characters, for e...

stackoverflow.com

문자열 정규표현식

https://stackoverflow.com/questions/249791/regex-for-quoted-string-with-escaping-quotes

 

Regex for quoted string with escaping quotes

How do I get the substring " It's big \"problem " using a regular expression? s = ' function(){ return " It\'s big \"problem "; }';

stackoverflow.com

8~30자리, 숫자 포함, 영문자 포함, 특수문자 포함

/^.*(?=^.{8,30}$)(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$%^&*_\)\(+=|}{\]\[\'\":;><.,?/]).*$/;

float 숫자

/(?:\d*\.)?\d+/;

도메인의 프로토콜 알아내기

var url = "http://Daum.net"; 
var protocolPattern = /^\w+(?=:\/\/)/; 
console.log('protocols : ',url.match(protocolPattern)[0])

풀 도메인 알아내기

var url = "http://Daum.net/Test123/test.png"; 
var domainWithOptionalProtocol = /^(\w+:\/\/)?[\w+.]+(?=(\/|:\d+))/; 
console.log("domain: ", url.match(domainWithOptionalProtocol)[0]);

포트번호 알아내기

var url= "http://Daum.com:7777/Test123/test.png"; 
var portNumberPattern = /(?<=\:)\d+(?=\/)/g; 
console.log("port number: ", url.match(portNumberPattern));

서브디렉토리 알아내기(URL)

var url  = "http://Daum.com/Seoul/Test123/sample.png"; 
var directoriesPattern = /(?<=\/)(\w+)(?=\/)/g; 
console.log("directories: ", url.match(directoriesPattern));

서브디렉토리 알아내기(File Path)

var path  = "C:\\aaa\\bbb\\ccc\\a.png"; 
var directoriesPattern = /(?<=\\)(\w+)(?=\\)/g; 
console.log("directories: ", path.match(directoriesPattern));

파일의 전체 디렉토리 알아내기

var url = "http://DAUM.com/Seoul/test123/sample.png";
var filePath = /^.+\//;
console.log("full directory: ", url.match(filePath)[0]);

확장자를 포함한 파일명 알아내기

var url = "http://DAUM.com/Seoul/test123/sample.png";
var fileWithExtension = /(?<=\/)(\w+)((\.\w+(?=\?))|(\.\w+)$)/g;
console.log("file name with extension: ", url.match(fileWithExtension)[0]);

확장자를 제외한 파일명 알아내기

var url = "http://DAUM.com/Seoul/test123/sample.png";
var fileNameNoExt = /(?<=\/)(\w+)(?=\.\w+(\?.*)*$)/g;
console.log("file name no extension: ", url.match(fileNameNoExt)[0]);

확장자 알아내기

var url = "http://DAUM.com/Seoul/test123/sample.png";
var fileExtensionPattern = /(?!\/\w+\.)(\w+$)|(?!\/\w+\.)(\w+)(?=\?.*$)/g;
console.log("file extension: ", url.match(fileExtensionPattern)[0]);

Get 방식 URL의 Key/Value 값 추출하기

var url = "http://Daum.com/Seoul/won.do?home=Namyangju&Company=FunnyPeople"; 
var queryPattern = /(?<=\?).+$/; 
var query = url.match(queryPattern); 
console.log("url query: ", query[0]); 
// url query: home=Namyangju&Company=FunnyPeople

// 여기 아래부터 Key/Value 추출 구문
var pairs = query[0].split("&"); 
console.log("pairs: " , pairs); 
// pairs: home=Namyangju, Company=FunnyPeople

var urlVars = {}; 
var pairSplit; 
for (var s of pairs) {     
	pairSplit = s.split("=");     
	urlVars[pairSplit[0]] = pairSplit[1]; 
} 
console.log("read object:",urlVars); 
for (var prop in urlVars) {     
	console.log("\t", prop, "=", urlVars[prop]); 
}

'개발팁 > 정규표현식' 카테고리의 다른 글

정규표현식 관련 사이트  (0) 2021.12.08
한글 체크 정규표현식  (0) 2021.12.08
정규표현식 테스트 사이트  (0) 2021.12.08

댓글