정규 표현 식 을 문자열 로 실행 합 니 다.

match 방법
형식:str.match(reg);
정규 표현 식 의 exec 방법 과 유사 합 니 다.이 방법 은 같은 배열 의 대상 을 되 돌려 주 고 input 와 index 속성 도 있 습 니 다.우 리 는 다음 함수 로 테스트 할 것 을 정의 합 니 다.
function  matchReg(reg,str){
 var result =  str.match(reg);
 if(result ){
 document.write('index:'+result.index+'<br  />'
 +'input:'+result.input+'<br  />'
 );
 for(i=0;i<result.length;i++){
 document.write('result['+i+']:'+result[i]+'<br  />')
 }
 }else{
 alert('null:    !')
 }
}

예 를 들 면:
var reg = /b/;
var str =  'bbs.blueidea.com';
matchReg(reg,str);

결 과 는 다음 과 같다.
index:0input:bbs.blueidea.comresult[0]:b
이 를 통 해 알 수 있 듯 이 exec 의 결과 와 같다.
그러나 정규 표현 식 에 g 수정자 가 설정 되 어 있 으 면 exec 와 match 의 행동 이 다 릅 니 다.다음 예 를 보십시오.
index:undefinedinput:undefinedresult[0]:bresult[1]:bresult[2]:b
g 수식 자 를 설정 한 정규 표현 식 은 한 번 의 일치 가 완료 되면 멈 추 지 않 고 일치 하 는 모든 문 자 를 계속 찾 습 니 다.돌아 온 결 과 는 b 세 개 를 포함한다.하지만 input 와 index 라 는 정 보 는 제공 되 지 않 았 습 니 다.
replace 방법
형식:str.replace(reg,'new str');
str 문자열 에 reg 와 일치 하 는 부분 을'new str'부분 코드 로 사용 하 는 역할 을 합 니 다.주의해 야 할 것 은 원래 문자열 이 수정 되 지 않 고 반환 값 으로 되 돌아 가 는 것 입 니 다.예:
var reg = /b/;
var str =  'bbs.blueidea.com';
var newStr =  str.replace(reg,'c');
document.write(newStr);

결 과 는 cbs.blueidea.com 으로 첫 번 째 b 만 c 로 교체 되 었 습 니 다.
var reg = /b/g;
var str =  'bbs.blueidea.com';
var newStr =  str.replace(reg,'c');
document.write(newStr);

출력 ccs.clueidea.com
g 수정자 가 설정 되 어 있 기 때문에 모든 b 를 교체 합 니 다.
var reg = /\w+/g;
var str =  'bbs.blueidea.com';
var newStr =  str.replace(reg,'word');
document.write(newStr);

출력:
word.word.word。
replace 함수 에서$참조 서브 정규 표현 식 일치 내용 사용
정규 에서 우 리 는 첫 번 째 정규 표현 식 과 일치 하 는 내용 을 인용 할 수 있 듯 이 replace 함수 의 교체 문자 에서 도$1 을 사용 하여 같은 내용 을 인용 할 수 있 습 니 다.
예 를 들 어 보 겠 습 니 다.
var reg =  /(\w+).(\w+).(\w+)/;
var str =  'bbs.blueidea.com';
var newStr =  str.replace(reg,'$1.$1.$1');
document.write(newStr);

출력 결과:
bbs.bbs.bbs
우선,우 리 는 첫 번 째 정규 표현 식 이 bbs 에 일치 한 다 는 것 을 알 고 있 습 니 다.그러면$1 도 bbs 를 대표 합 니 다.그 후에 우 리 는 대체 문자열 을'$1.$1.$1'로 설정 했다.사실은'bbs.bbs.bbs'이다.마찬가지 로 2 달러 는 블 루 이 데 아,3 달러 는 com 이다.
예 를 들 어 빈 칸 앞 뒤 두 단어의 순 서 를 뒤 바 꾸 었 다.
var reg =  /(\w+)\s(\w+)/;
var str = 'cainiao  gaoshou';
var newStr =  str.replace(reg,'$2 $1');
document.write(newStr);

결 과 는 gaoshou cainiao,즉 빈 칸 전후의 단어 가 순서 가 바 뀌 었 다.
교체 텍스트 에$가 특별한 의 미 를 가지 고 있 기 때문에$라 는 문 자 를 사용 하려 면$$라 고 써 야 합 니 다.예 를 들 어:
var reg =  /(\w+)\s(\w+)/;
var str = 'cainiao  gaoshou';
var newStr =  str.replace(reg,'$$ $$');
document.write(newStr);

결 과 는$$입 니 다.
search 방법 과 split 방법
마찬가지 로 문자열 의 search 방법 과 split 방법 에서 도 정규 표현 식 을 사용 할 수 있 습 니 다.형식 은 다음 과 같 습 니 다.
str.search(reg);
search 정규 표현 식 의 첫 번 째 일치 하 는 위 치 를 되 돌려 줍 니 다.예:
var reg = /idea/;
var str = 'blueidea';
var pos =  str.search(reg);
document.write(pos);

결 과 는 4.
다음 예 에서 첫 번 째 비 단어 문 자 를 찾 습 니 다.
var reg = /\W/;
var str =  'bbs.blueidea.com';
var pos =  str.search(reg);
document.write(pos);

결 과 는 3,즉 그 점"."의 위치 이다.
str.split(reg,’seprator’);
split        ,  :
var reg = /\W/;
var str =  'bbs.blueidea.com';
var arr =  str.split(reg);
document.write(arr);

결 과 는 bbs,blueidea,com 으로 배열 이 단어 가 아 닌 문자 로 세 개의 요소 가 있 는 배열 로 나 뉘 어 있 음 을 알 수 있 습 니 다.
var  reg = /\W/;
var  str = 'http://www.baidu.com/';
var  arr = str.split(reg);
document.write(arr.length+'<br  />');
document.write(arr);

결 과 는:
7http,,,www,baidu,com,
이 를 통 해 알 수 있 는 문자열 은 7 개의 요소 가 있 는 배열 로 나 뉘 는데 그 중에서 세 개의 빈 문자열 요 소 를 포함한다.

좋은 웹페이지 즐겨찾기