"자바스크립트 exec() 메소드"의 두 판 사이의 차이

52번째 줄: 52번째 줄:


==참고==
==참고==
*https://www.w3schools.com/jsref/jsref_regexp_exec.asp
* https://www.w3schools.com/jsref/jsref_regexp_exec.asp
* https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec


[[분류: JavaScript]]
[[분류: JavaScript]]
[[분류: 정규표현식]]
[[분류: 정규표현식]]

2017년 11월 24일 (금) 23:34 판

1 개요

JavaScript exec() Method
JavaScript exec() 메소드
RegExp.prototype.exec()
  • 정규식 패턴에 맞는 문자열 탐색을 수행하는 메소드
  • 끝을 만나면(찾지 못하면) null
  • 끝인데 또 실행하면 다시 처음부터 탐색함

2 예시

var str = "Hello world!";
var pattern = /([A-Za-z]+)|([ !])/g;
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
console.log( pattern.exec(str) );
// ["Hello", "Hello", undefined, index: 0, input: "Hello world!"]
// [" ", undefined, " ", index: 5, input: "Hello world!"]
// ["world", "world", undefined, index: 6, input: "Hello world!"]
// ["!", undefined, "!", index: 11, input: "Hello world!"]
// null
// ["Hello", "Hello", undefined, index: 0, input: "Hello world!"]
// [" ", undefined, " ", index: 5, input: "Hello world!"]
// ["world", "world", undefined, index: 6, input: "Hello world!"]
function split_words_n_others(str) {
  var res = [];
  var pattern = /([A-Za-z]+)|([^A-Za-z]+)/g;
  while ((match = pattern.exec(str)) !== null) {
  	res.push( {word:match[0], is_word:(match[2]==undefined)} );
  }
  return res;
}
console.log(split_words_n_others("Hello world!"));
// [
// {word: "Hello", is_word: true}
// {word: " ", is_word: false}
// {word: "world", is_word: true}
// {word: "!", is_word: false}
// ]

3 같이 보기

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}