/패턴(pattern)/옵션(flag)
/(Hi|Hello)|(And)/gm
/gr(e|a)y/gm
/gr(?:e|a)y/gm
/gr(e|a|d)y/gm
== /gr[ead]y/gm
/gr[a-f]y/gm
: gr로 시작하면서 가운데가 a부터 f까지 포함된 y로 끝나는 것들/[a-zA-Z0-9]/gm
/[^a-za-z0-9]/gm
?
/gra?y/gm
-
: 없거나 있거나 많거나/gra\*y/gm
-
: 하나 있거나 그 이상의 것/gra{2, 3}y/
: a가 두번 또는 세번 포함된 것/gra{2,}y/
: 최소 2번 이상 a가 포함된 것\b
/\bYa/gm
: 단어 중에서 단어 앞에서 Ya가 포함된 문자열만 선택/Ya\b/gm
: 단어 중 Ya가 단어 뒤에 포함 된 것들\B
: \b
의 반대/Ya\B/gm
: 단어 중에서 Ya가 단어 뒤에 포함된 것이 아닌 Ya들을 선택^
: 문장의 시작/^Ya/gm
: 문장에서 Ya로 시작하는 문장의 Ya를 선택&
: 문장의 끝 : ^의 반대/./gm
: 모든 문자열 선택
/\./gm
: 특수 문자를 찾을 땐 역슬래시() 를 사용
\d
: digit 숫자, 숫자 전부
\D
: 숫자가 아닌 모든 것들
\w
: 모든 문자열 : a-zA-z0-9
\W
: 문자열을 제외한 나머지 모든 것 : 특수문자나 띄어쓰기 등
\s
: 모든 띄어쓰기
\S
: 띄어쓰기를 제외한 모든 것
/\d{2,3}[-.\s]\d{3}[- .]\d{4}/gm
/\w.{1,}[@]\w.{1,}/gm
: 내가 작성한 정규표현식/[a-zA-Z0-9._-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9.]+/gm
: 엘리의 답안http(s?):\/\/(www.)?youtu.be\/{1}
: 주소만 선택하고 해당 줄의 나머지를 어떻게 선택하는지 모르겠음/(?:https?:\/\/)?(?:www\.)?youtu.be\/([a-zA-Z0-9-]{11})/gm
const regex = /(?:https?:\/\/)?(?:www\.)?youtu.be\/([a-zA-Z0-9-]{11})/; // 그룹으로 제외 할 땐 g 플래그를 붙이면 안되네
const url = 'https://www.youtu.be/-ZClicWm0zM';
url.match(regex);
function removeEmojisAndSpecialChar(string) {
// console.log(string);
var regex =
/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff]|[\{\}\[\]\/?;:|\)*~`!^\-+<>@\#$%&\\\=\(\'\"])/gi;
return string.replace(regex, '');
}