정규 표현 식 프로 그래 밍
8093 단어 정규 표현 식
수색 하 다.
다음 JScript 예제 에서 어떤 단어의 일치 하 는 항목 을 찾 습 니 다.
이 정규 표현 식 을 만 드 는 문 구 는?
var re = /\w+/g;
/\w+/ 패턴 은 다음 과 같은 하나 이상 의 임의의 문 자 를 지정 합 니 다: A - Z, a - z, 0 - 9 와 밑줄 문 자 를 지정 합 니 다. 모드 뒤의 g (전역) 플래그 입 니 다. 검색 작업 은 이 모드 의 모든 일치 항목 을 찾 아야 합 니 다. 첫 번 째 일치 항목 만 찾 는 것 이 아 닙 니 다.
다음 JScript 로 문법 을 바 꿀 수도 있 습 니 다.
var re = new RegExp("\\w+", "g");
매 칭 항목 을 검색 하려 면 exec 방법 장차 lastIndex Null 로 돌아 갈 때 까지 위 치 를 계속 검색 하 세 요.
JScript
function SearchGlobal()
{
var src = "The quick brown fox jumps over the lazy dog.";
// Create a regular expression pattern that has a global flag.
var re = /\w+/g;
var result;
// Get the first match.
result = re.exec(src);
while (result != null)
{
print (result.index + "-" + result.lastIndex + "\t" + result[0]);
// Get the next match.
// Because the global flag is set, the search starts at the
// position of lastIndex.
result = re.exec(src);
}
// Output:
// 0-3 The
// 4-9 quick
// 10-15 brown
// 16-19 fox
// 20-25 jumps
// 26-30 over
// 31-34 the
// 35-39 lazy
// 40-43 dog
}
다음 예제 에 서 는 첫 번 째 일치 항목 만 찾 습 니 다. 전역 (g) 플래그 가 설정 되 어 있 지 않 기 때문에 검색 작업 은 검색 문자열 의 시작 위치 에서 시 작 됩 니 다.
JScript
function SearchNonGlobal()
{
var src = "The quick brown fox jumps over the lazy dog.";
// Create a regular expression that does not have
// a global flag.
var re = /\w+/;
// Get the first match.
// Because the global flag is not set, the search starts
// from the beginning of the string.
var result = re.exec(src);
if (result == null)
print ("not found");
else
{
print (result.index + "-" + result.lastIndex + "\t" + result[0]);
}
// Output:
// 0-3 The
}
바꾸다
다음 예제 에서 "a" 는 "the" 의 일치 항목 을 교체 합 니 다. 정규 표현 식 표지 에 포함 되 지 않 았 기 때문에 인 스 턴 스 "The" 를 바 꾸 지 않 습 니 다. i (대소 문자 무시) 표지.
이 예제 사용 replace 방법 。
JScript
function ReplaceGlobal()
{
var src = "The batter hit the ball with the bat ";
src += "and the fielder caught the ball with the glove.";
// Replace "the" with "a".
var re = /the/g;
var result = src.replace(re, "a");
print(result);
// Output:
// The batter hit a ball with a bat and a fielder caught a ball with a glove.
}
하위 문자열 추출
정규 표현 식 모드 에 괄호 를 놓 아 나중에 사용 할 하위 일치 항목 을 만 듭 니 다.
다음 예제 에서 이 모델 은 세 개의 키 일치 항목 을 포함한다. 하위 일치 문자열 은 모든 일치 항목 과 함께 표 시 됩 니 다.
exec 방법 배열 로 돌아 갑 니 다. 배열 요소 0 은 완전한 일치 항목 을 포함 하고 요소 1 부터 n 하위 일치 항목 포함.
JScript
function SearchWithSubmatches()
{
var result;
var src = "Please send mail to [email protected] and [email protected]. Thanks!";
// Create a regular expression to search for an e-mail address.
// Include the global flag.
// (More sophisticated RegExp patterns are available for
// matching an e-mail address.)
var re = /(\w+)@(\w+)\.(\w+)/g;
// Get the first match.
result = re.exec(src);
while (result != null)
{
print ("e-mail address: " + result[0]);
// Get the submatched parts of the address.
print ("user name: " + result[1]);
print ("host name: " + result[2]);
print ("top-level domain: " + result[3]);
print ("");
// Get the next match.
result = re.exec(src);
}
// Output:
// e-mail address: [email protected]
// user name: george
// host name: contoso
// top-level domain: com
// e-mail address: [email protected]
// user name: someone
// host name: example
// top-level domain: com
}
Flags
JScript 정규 표현 식 에서 /abc/gim 중, g 전역 표시, i 대소 문자 표시 무시 m 지시 다행 표지.
다음 표 는 허용 되 는 표 지 를 보 여 줍 니 다.
JScript 로고
하면, 만약, 만약...
g
검색 문자열 에서 이 패턴 의 모든 일치 항목 을 찾 습 니 다. 첫 번 째 일치 항목 만 찾 는 것 이 아 닙 니 다.
i
대소 문 자 를 구분 하지 않 고 검색 합 니 다.
m
^ 매 칭 혹시 \r 다음 위치, $ 매 칭 혹시 \r 앞 자리.표지 가 존재 하 든 없 든 ^ 검색 문자열 의 시작 위치 와 일치 합 니 다. $ 검색 문자열 의 끝 위치 와 일치 합 니 다.
추가 기능
다음 과 같은 추가 프로 그래 밍 기능 도 사용 할 수 있다.
기능.
설명 하 다.
컴 파일 방법 (Visual Studio - JScript)
정규 표현 식 을 내부 형식 으로 컴 파일 하여 더욱 빠르게 실행 합 니 다.
test 방법
검색 문자열 에 패턴 이 있 는 지 테스트 합 니 다.
검색 방법
첫 번 째 일치 하 는 항목 의 위 치 를 되 돌려 줍 니 다.
참고 하 시 오
레 퍼 런 스
정규 표현 식 대상
콘 셉 트
정규 표현 식 만 들 기
정규 표현 식 문법
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.