리터럴 match, match 메서드 예제 | ![]() ![]() |
<SCRIPT> var br='<BR>'; // 줄바꿈 var str=''; // 출력 문자열 변수 선언 var regexp='index'; // 정규식 패턴 대신 리터럴로 var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; // 변수를 선언하고 할당 str+='stringVar='+stringVar+br; // 문자열 출력 str+='regexp='+regexp+br; // 정규식 패턴 출력 str+='stringVar.match(regexp)='+stringVar.match(regexp)+br; // 문자열의 일치 여부 확인 str+='stringVar.replace(regexp,"인덱스")=<BR>'; // 제목줄 출력 str+=stringVar.replace(regexp,'인덱스')+br; // index(대소문자 구별)를 인덱스로 대체 document.write(str); // 결과 문자열 출력 </SCRIPT>
정규식 패턴 match, match 메서드 예제 | ![]() ![]() ![]() |
<SCRIPT> var br='<BR>'; // 줄바꿈 var str=''; // 출력 문자열 변수 선언 var regexp=/IndEX/ig; // 정규식 패턴, i=대소문자 구별 없이(영어), g=전역 검사 var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; // 변수를 선언하고 할당 str+='stringVar='+stringVar+br; // 문자열 출력 str+='regexp='+regexp+br; // 정규식 패턴 출력 str+='stringVar.match(regexp)='+stringVar.match(regexp)+br; // 문자열의 일치 여부 확인 str+='stringVar.replace(regexp,"INDEX")=<BR>'; // 제목줄 출력 str+=stringVar.replace(regexp,'INDEX')+br; // index를 대소 문자 구별없이 모두 대문자로 교체 document.write(str); // 결과 문자열 출력 </SCRIPT>
정규식 패턴 글로벌(g) 플래그를 설정한 match 메서드 예제 | ![]() ![]() ![]() |
<SCRIPT> var br='<BR>'; // 줄바꿈 var str=''; // 출력 문자열 변수 선언 var regexp==/INDEX/g; // 정규식 패턴, 9 모든 패턴에 대한 전역 검사 var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; str+='stringVar='+stringVar+br; // 문자열 출력 str+='regexp='+rregexp+br; // 정규식 패턴 출력 str+='stringVar.match(regexp)='+stringVar.match(regexp)+br; // 문자열이 포함하는 모든 일치를 출력, 여기서는 없으므로 null document.write(str); // 결과 문자열 출력 </SCRIPT>
두 단어씩 나누어 단어를 맞바꾸는 방법 replace 메서드 예제 | ![]() ![]() ![]() |
변환 부분 문자열 $3$2$1(replaceText)가 각각의 일치하는 부분 문자열에 대해 다음의 m+3개 인수로 기능함수를 호출한다.
여기서 m은 regexp(/(\S+)(\s+)(\S+)/g)의 왼쪽 괄호의 갯수이다.
replace 메서드는 패턴을 가지고 부분식을 바꿀 수 있다. 예제는 문자열에서 각 쌍의 단어를 맞바꾼다.
제일 아래 두 칸은 윗 두칸과 같은데 구별을 위하여 색상을 넣어 보았다. 1번 단어(청색)은 3번위치에 가고 3번단어(적색)은 1번 위치로 바뀌었으며 그 사이 2번은 빈칸(노랑 ' ')의 위치는 그대로이다. 마지막 '가진다.'는 짝이 안맞아 그대로이다.
<SCRIPT> var br='<BR>'; // 줄바꿈 var str='', regexp; // 변수를 선언 var stringVar='match 메서드가 반환하는 배열은 input, index 및 lastIndex의 세가지 속성을 가진다.'; // 문자열 할당 regexp=/(\S+)(\s+)(\S+)/g; // 정규식 패턴 작성 str+='stringVar='+stringVar+br; // 문자열 출력 str+='regexp='+regexp+br+br; str+='stringVar.replace(regexp,"$3$2$1")='+br; str+=stringVar.replace(regexp,'$3$2$1')+br+br; // 이하는 위 두줄을 색상넣기하였다. 소스보기는 작은 글자로 str+='stringVar.replace(regexp,"<FONT size=1><FONT color=red>$3</FONT>'; str+='<SPAN style=background:ff0>$2</SPAN>'; str+='<FONT color=blue>$1</FONT></FONT>")='+br; str+=stringVar.replace(regexp,'<FONT color=red>$3</FONT> // 길이 관계로 줄바꿈하였으나 밑줄친 부분은 붙여 넣어야 함. <SPAN style=background:ff0>$2</SPAN><FONT color=blue>$1</FONT>')+br; document.write(str); // 결과 문자열 출력 </SCRIPT>
replace 메서드를 이용하여 섭시를 화씨로 환산하는 예제 | ![]() ![]() ![]() |
<SCRIPT> var br='<BR>'; // 줄바꿈 var str=''; // 출력 문자열 변수 선언 var string='물은 0C에서 얼고 100C에서 끓는다.'; // 문자열을 가지고 기능함수호출 var regexp=/(\d+(\.\d*)?)C\b/g; // 정규식 패턴 str+='string='+string+br; // 문자열 출력 str+='regexp='+regexp+br+br; // 정규식 출력 str+='string.replace(regexp,function($0,$1,$2){ return ((($1* 9/5+32))+ "F");})='+br; // 계산및 대체 기능 표시 str+=string.replace(regexp,function($0,$1,$2){ return ((($1* 9/5+32))+ 'F');}); // 결과 출력 document.write(str); // 결과 문자열 출력 </SCRIPT>
![]() | 문자열 검색과 문자열 대체 예제 | ![]() ![]() |
최종 수정: 07/02/2025 23:49:48 | ![]() All right reserved | 비정상적인 방식으로 프레임없이 페이지에 접속하면 자주 오류가 발생됩니다. 오류가 나면 정상적 접속으로 시도해 보세요. | http://koxo.com/lang/js/method/exp/xmatchreplace.html |