>웹 프론트엔드 >JS 튜토리얼 >JavaScript를 사용한 패턴 일치를 위한 문자열 방법

JavaScript를 사용한 패턴 일치를 위한 문자열 방법

亚连
亚连원래의
2018-05-19 16:05:271776검색

다음 편집기는 JavaScript를 사용하여 패턴 일치를 구현하는 문자열 메서드를 제공합니다. 이제 그것을 여러분과 공유하고 모든 사람에게 참고 자료로 제공하겠습니다.

패턴 일치를 위한 문자열 메서드:

String은 정규 표현식을 사용하여 4가지 메서드를 지원합니다.

seach()는 검색에 사용되며 매개 변수는 정규 표현식이며 첫 번째 위치를 반환합니다. 일치하는 하위 문자열을 찾을 수 없으면 -1이 반환됩니다. 매개변수가 정규식이 아닌 경우 먼저 RexExp 생성자를 통해 정규식으로 변환됩니다. search() 메서드는 전역 검색을 지원하지 않습니다. modifier g;

replace()는 검색 및 교체 작업에 사용됩니다. 첫 번째 매개변수는 정규식이고 두 번째 매개변수는 대체할 문자열입니다. 이 메서드를 호출하는 문자열을 검색하고 패턴에 따라 하위 문자열을 두 번째 매개 변수로 바꿉니다. g가 포함되면 전체 텍스트가 일치됩니다. 첫 번째 매개변수가 정규 표현식이 아니고 문자열인 경우 문자열을 직접 검색하여 바꿉니다.

text.replace(/javascript/gi,'JavaScript')는 텍스트 전체에서 대소문자를 구분하지 않는 자바스크립트를 검색한다는 의미입니다. . JavaScript로 대체됨

교체에 사용된 문자열에 ($ + 숫자)가 나타나는 경우, replacement() 메소드는 $ + 숫자로 참조되는 하위 표현식과 일치하는 텍스트로 대체합니다. 예:

var quote = /"([^"]*)"/g

text.replace(quote,'"$1"'); /"([^"]*)"/와 일치하는 문자열에 대한 전체 텍스트 검색을 수행하고 "$1로 바꿉니다. ” (양쪽 큰따옴표만 중국어 반자로 변경되고 $1에 저장된 내용은 변경되지 않음을 나타냄) $1은 첫 번째 왼쪽 괄호의 하위 표현식과 일치하는 문자열을 저장합니다.

match() 유일한 매개변수입니다. 는 정규식이고 반환값은 일치하는 결과로 구성된 배열입니다. 매개변수가 정규식이 아닌 경우 먼저 RexExp 생성자를 통해 정규식으로 변환됩니다.

(2) 이 정규식의 경우; 표현식에는 수정자 g가 있으며, match()에서 반환된 배열 요소는 전체 텍스트를 일치시켜 얻은 모든 문자열입니다.

(2) 정규식에 수정자 g가 없으면 match()는 첫 번째 일치 항목만 검색합니다. 하지만 배열도 반환합니다(배열의 첫 번째 요소는 일치하는 전체 문자열이고 다음 요소는 표현식에서 괄호로 묶인 모든 하위 표현식과 일치하는 문자열이며 각 요소는 괄호에 해당합니다)

예:

var url = /(\w*):\/\/([\w.]+)\/(\S*)/;
  var text = 'http://www.w3school.com.cn/jsref';
  var result = text.match(url);
  if(result != null) {
  var fullurl = result[0];
  var protocol =result[1];
  var host = result[2];
  var path = result[3];
}

split()은 다음과 같이 매개변수에 의해 지정된 구분 기호에 따라 문자열을 여러 하위 문자열의 배열로 분할합니다.

'123,345,789'.split(',') //Return ['123 ','345' ,'789']

'1, 2 , 3, 4 ,5 , 6'.split(/s*,s*/) //Return ['1','2',' 3','4 ','5','6']

위 내용은 앞으로 모든 분들께 도움이 되기를 바랍니다.

관련 글:

JS 메소드 구현을 위해 캐시를 호출하는 단계에 대한 자세한 설명

VueJs에서 V-bind 명령을 사용하는 방법

nodejs 로그 모듈 사용 방법 요약 윈스턴

위 내용은 JavaScript를 사용한 패턴 일치를 위한 문자열 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.