VBS 튜 토리 얼: 정규 표현 식 소개 - 후 참조
정규 표현 식 의 가장 중요 한 특징 은 성공 한 패턴 과 일치 하 는 일부분 을 저장 해서 나중에 사용 할 수 있 도록 하 는 것 이다.정규 표현 식 모드 나 일부 모드 양쪽 에 괄호 를 추가 하면 이 부분 표현 식 이 임시 버퍼 에 저 장 됩 니 다.비 포획 문자 '?:', '? =' 를 사용 할 수 있 습 니 다.or '?!' 이 부분의 정규 표현 식 저장 을 무시 합 니 다.
캡 처 된 모든 하위 매 칭 은 정규 표현 식 모드 에서 왼쪽 에서 오른쪽으로 만 나 는 내용 에 따라 저 장 됩 니 다.하위 와 일치 하 는 버퍼 번 호 를 1 부터 최대 99 개의 표현 식 까지 연속 으로 저장 합 니 다.모든 버퍼 는 '\ n' 을 사용 하여 접근 할 수 있 습 니 다. 그 중에서 n 은 특정한 버퍼 의 한 자리 또는 두 자리 10 진수 입 니 다.
나중에 인용 하 는 가장 간단 하고 가장 유용 한 응용 은 문자 에 두 개의 같은 단어 가 연속 으로 나타 나 는 위 치 를 확인 하 는 능력 을 제공 하 는 것 이다.다음 문장 을 보십시오.
Is is the cost of of gasoline going up up?
쓴 내용 에 따 르 면 위의 문장 에는 단어 가 여러 번 반복 되 는 문제 가 분명히 존재 한다.단어 마다 반복 되 는 현상 을 찾 지 않 고 문장 을 수정 할 수 있 는 방법 이 있 었 으 면 좋 겠 다.다음 Visual Basic Scripting Edition 정규 표현 식 은 하위 표현 식 을 사용 하면 이 기능 을 수행 할 수 있 습 니 다.
/\b([a-z]+) \1\b/gi
등가 의 VBScript 표현 식 은 다음 과 같 습 니 다.
"\b([a-z]+) \1\b"
이 예제 에서 하위 표현 식 은 괄호 사이 의 모든 항목 입 니 다.캡 처 된 표현 식 은 '[a - z] +' 에서 지정 한 알파벳 문 자 를 포함 합 니 다.이 정규 표현 식 의 두 번 째 부분 은 앞에서 잡 은 하위 와 일치 하 는 인용 입 니 다. 즉, 추가 표현 식 과 일치 하 는 두 번 째 단어 입 니 다. '\ \1 '첫 번 째 키 의 매 칭 을 지정 합 니 다.단어 경계 메타 문 자 는 단독 단어 만 검출 하도록 확보 합 니 다.그렇지 않 으 면 'is issued' 나 'this is' 와 같은 구 는 이 표현 식 에 의 해 정확하게 인식 되 지 않 습 니 다.
Visual Basic Scripting Edition 표현 식 에서 정규 표현 식 뒤의 전역 표지 ('g') 는 이 표현 식 이 입력 문자열 에서 가능 한 한 많은 일치 하 는 것 을 찾 는 데 사 용 될 것 임 을 나타 낸다.대소 문자 민감 성 은 표현 식 끝 에 있 는 대소 문자 민감 성 태그 (i) 에서 지정 합 니 다.여러 줄 표 시 는 줄 바 꿈 문자 의 양 끝 에 나타 날 수 있 는 잠재 적 인 일치 입 니 다.VBScript 의 경우 표현 식 에 각종 표 시 를 설정 할 수 없 지만 RegExp 대상 의 속성 을 사용 하여 명시 적 으로 설정 해 야 합 니 다.
위 에서 보 여 준 정규 표현 식 을 사용 하 십시오. 아래 의 Visual Basic Scripting Edition 코드 는 하위 일치 정 보 를 사용 할 수 있 습 니 다. 한 문자열 에서 같은 단 어 를 두 번 연속 으로 같은 단어 로 바 꿀 수 있 습 니 다.
var ss = "Is is the cost of of gasoline going up up?.
创建正则表达式样式
";var re = /\b([a-z]+) \1\b/gim; //.var rv = ss.replace(re,"$1"); //
用一个单词替代两个单词.
가장 가 까 운 등가 VBScript 코드 는 다음 과 같 습 니 다.
Dim ss, re, rvss = "Is is the cost of of gasoline going up up?." & vbNewLineSet re = New RegExpre.Pattern = "\b([a-z]+) \1\b"re.Global = Truere.IgnoreCase = Truere.MultiLine = Truerv = re.Replace(ss,"$1")
VBScript 코드 에서 전역, 대소 문자 민감 성, 다 중 줄 표 시 는 RegExp 대상 의 적당 한 속성 으로 설정 되 어 있 음 을 주의 하 십시오.
replace 방법 에서 저 장 된 첫 번 째 키 가 일치 하 는 것 을 $1 로 참조 합 니 다.여러 개의 키 가 일치 하면 $2, $3 등 으로 계속 참조 할 수 있 습 니 다.
나중에 인 용 된 또 다른 용 도 는 유 니 버 설 자원 인디케이터 (URI) 를 구성 요소 부분 으로 분해 하 는 것 입 니 다.다음 URI 를 프로 토 콜 (ftp, http, etc), 도 메 인 주소 및 페이지 / 경로 로 분해 하고 싶다 고 가정 합 니 다.
http://msdn.microsoft.com:80/scripting/default.htm
아래 의 정규 표현 식 은 이 기능 을 제공 할 수 있 습 니 다.Visual Basic Scripting Edition 은 다음 과 같 습 니 다.
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
VBScript 에 대해 서 는:
"(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"
첫 번 째 추가 서브 표현 식 은 이 웹 주 소 를 캡 처 하 는 프로 토 콜 부분 입 니 다.이 하위 표현 식 은 콜론 과 두 개의 정사각형 앞 에 있 는 모든 단어 와 일치 합 니 다.두 번 째 추가 하위 표현 식 은 이 주소 의 도 메 인 주 소 를 캡 처 합 니 다.이 하위 표현 식 은 '^', '/' 또는 ':' 문자 의 모든 문자 시퀀스 를 포함 하지 않 습 니 다.세 번 째 추가 서브 표현 식 은 사이트 포트 번 호 를 캡 처 합 니 다. 이 포트 번 호 를 지정 하면.이 하위 표현 식 은 짝 퉁 0 이나 여러 개의 숫자 와 일치 합 니 다.마지막 으로 네 번 째 추가 서브 표현 식 은 이 웹 주소 가 지정 한 경로 와 \ 또는 페이지 정 보 를 캡 처 합 니 다.이 하위 표현 식 은 '\ #' 또는 빈 칸 을 제외 한 여러 문자 와 일치 합 니 다.
이 정규 표현 식 을 위 에 표 시 된 URI 에 적용 한 후 다음 내용 을 포함 하 는 하위 일치:
RegExp. $1 은 "http" 을 포함 합 니 다.
RegExp. $2 는 "msdn. microsoft. com" 을 포함 합 니 다.
RegExp. $3 포함 ": 80"
RegExp. $4 에는 "/ script / default. htm" 이 포함 되 어 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.