>웹 프론트엔드 >JS 튜토리얼 >정규식 \v 메타문자에 대한 자세한 설명

정규식 \v 메타문자에 대한 자세한 설명

赶牛上岸
赶牛上岸원래의
2018-03-06 14:23:322020검색

많은 프로그래밍 언어는 정규식을 사용한 문자열 연산을 지원합니다. 정규식은 일반 문자(예: a~z 문자)와 특수 문자("메타문자"라고 함)를 포함하는 텍스트 패턴입니다. 패턴은 텍스트를 검색할 때 일치시킬 하나 이상의 문자열을 설명합니다. v 메타 문자는 세로 탭 문자와 일치할 수 있습니다. 정규식 v 메타문자를 소개하겠습니다.

다음 표에는 정규 표현식과 관련된 전체 메타 문자 목록과 해당 동작이 포함되어 있습니다.

🎜(?<span style="color:#333333;font-size:12px;font-family:NSimsun">(?<!95|98|NT|2000)Windows span ></span>"일치 가능"<span style="color:#333333;font-size:12px;font-family:NSimsun">3.1Windows</span> "中"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>", 일치할 수 없음" <span style="color:#333333;font-size:12px;font-family:NSimsun">"<code style="border" in>" -상단: 0px; 테두리-하단: 0px; 패딩-왼쪽: 0px; "><span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>".
Character Description

다음 문자를 특수 문자 또는 A 리터럴로 표시합니다. 문자, 역참조 또는 8진수 이스케이프 문자입니다. 예를 들어 'n'은 문자 "n"과 일치합니다. 'n'은 개행 문자와 일치합니다. 시퀀스 '\'는 ""와 일치하고 "("는 "("와 일치합니다.

^

입력 문자열의 시작 부분과 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 ^는 'n' 또는 'r' 뒤의 위치와도 일치합니다.

$

입력 문자열의 끝 위치와 일치합니다. RegExp 개체의 Multiline 속성이 설정된 경우 $는 'n' 또는 'r' 앞의 위치와도 일치합니다.

*

이전 하위 표현식과 0회 이상 일치합니다. 예를 들어 zo*는 "z" 및 "zoo"와 일치합니다. * {0,}와 동일합니다.

+

은 이전 하위 표현식과 한 번 이상 일치합니다. 예를 들어 'zo+'는 "zo" 및 "zoo"와 일치하지만 "z"와는 일치하지 않습니다. +는 {1,}과 같습니다.

?

이전 하위 표현식과 0번 또는 1번 일치합니다. 예를 들어, "do(es)?"는 "do" 또는 "does"와 일치합니다. ? {0,1}과 동일합니다.

{n}

n은 음수가 아닌 정수입니다. 특정 횟수의 n번 일치합니다. 예를 들어, 'o{2}'는 "Bob"의 'o'와 일치하지 않지만 "food"의 두 o와 일치합니다.

{n,}

n은 음수가 아닌 정수입니다. n번 이상 일치합니다. 예를 들어, 'o{2,}'는 "Bob"의 'o'와 일치하지 않지만 "foooood"의 모든 o와 일치합니다. 'o{1,}'는 'o+'와 동일합니다. 'o{0,}'는 'o*'와 동일합니다.

{n,m}

m과 n은 모두 음수가 아닌 정수입니다. 여기서 n <= m입니다. 최소 n회, 최대 m회 일치합니다. 예를 들어, "o{1,3}"은 "fooooood"의 처음 세 개의 o와 일치합니다. 'o{0,1}'은 'o?'와 동일합니다. 쉼표와 두 숫자 사이에는 공백이 있어서는 안 됩니다.

?

문자가 다른 제한자(*, +, ?, {n}, {n,}, {n,m}) 바로 뒤에 오면 일치 패턴은 탐욕스럽지 않습니다. Non-greedy 모드는 검색된 문자열을 최대한 적게 일치시키는 반면, 기본 Greedy 모드는 검색된 문자열을 최대한 많이 일치시킵니다. 예를 들어, 문자열 "oooo"의 경우 'o+?'는 단일 "o"와 일치하고 'o+'는 모든 'o'와 일치합니다.

.

은 개행 문자(n, r)를 제외한 모든 단일 문자와 일치합니다. 'n'을 포함한 모든 문자를 일치시키려면 "(.|n)"과 같은 패턴을 사용하세요.

(pattern)

은 패턴과 일치하여 이 일치 항목을 얻습니다. 얻은 일치 항목은 VBScript의 SubMatches 컬렉션 또는 JScript의 $0…$9 속성을 사용하여 생성된 Matches 컬렉션에서 얻을 수 있습니다. 괄호 문자를 일치시키려면 '(' 또는 ')'를 사용하십시오.

(?:pattern)

은 패턴과 일치하지만 일치하는 결과를 얻지 못합니다. 즉, 일치하지 않으며 나중에 사용하기 위해 저장되지 않습니다. 이는 "or" 문자(|)를 사용하여 패턴의 일부를 결합할 때 유용합니다. 예를 들어 'industr(?:y|ies)는 'industry|industries'보다 짧은 표현입니다.

(?=pattern)

앞보기 긍정적 주장, 문자열 일치 패턴의 시작 부분에서 검색 문자열을 일치시킵니다. 이는 가져오지 않는 일치입니다. 즉, 나중에 사용하기 위해 일치 항목을 가져올 필요가 없습니다. 예를 들어, "Windows(?=95|98|NT|2000)"는 "Windows2000"의 "Windows"와 일치할 수 있지만 "Windows3.1"의 "Windows"와 일치할 수는 없습니다. 프리페치는 문자를 소비하지 않습니다. 즉, 일치가 발생한 후 다음 일치 항목에 대한 검색은 프리페치를 포함하는 문자 뒤에서 시작하는 것이 아니라 마지막 일치 직후에 시작됩니다.

(?!pattern)

긍정 부정 어설션(부정 어설션)은 패턴과 일치하지 않는 문자열의 시작 부분에 있는 검색 문자열과 일치합니다. 이는 가져오지 않는 일치입니다. 즉, 나중에 사용하기 위해 일치 항목을 가져올 필요가 없습니다. 예를 들어, "Windows(?!95|98|NT|2000)"는 "Windows3.1"의 "Windows"와 일치할 수 있지만 "Windows2000"의 "Windows"와 일치할 수는 없습니다. 프리페치는 문자를 소비하지 않습니다. 즉, 일치가 발생한 후 다음 일치 항목에 대한 검색은 프리페치를 포함하는 문자 뒤에서 시작하는 것이 아니라 마지막 일치 직후에 시작됩니다.

(?<=pattern) 역방향(뒤돌아보기) 긍정 조회는 정방향 긍정 조회와 유사하지만 방향이 반대입니다. 예를 들어, "<span style="color:#333333;font-size:12px;font-family:NSimsun">(?<=95|98|NT|2000)Windows</span>"일치 가능"<span style="color:#333333;font-size:12px;font-family:NSimsun">2000Windows</span> "中"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>", 일치할 수 없음" "<code style=" <span style=" color:>3.1Windows" 테두리 -상단: 0px; 테두리-하단: 0px; 패딩-왼쪽: 0px; "><span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>". <span style="color:#333333;font-size:12px;font-family:NSimsun">(?<=95|98|NT|2000)Windows</span>"能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">2000Windows</span>"中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>",但不能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">3.1Windows</span>"中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>"。
(? 反向否定预查,与正向否定预查类似,只是方向相反。例如"<span style="color:#333333;font-size:12px;font-family:NSimsun">(?<!95|98|NT|2000)Windows</span>"能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">3.1Windows</span>"中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>",但不能匹配"<span style="color:#333333;font-size:12px;font-family:NSimsun">2000Windows</span>"中的"<span style="color:#333333;font-size:12px;font-family:NSimsun">Windows</span>🎜
x|y

x 또는 y와 일치합니다. 예를 들어 'z|food'는 "z" 또는 "food"와 일치합니다. '(z|f)ood'는 "zood" 또는 "food"와 일치합니다.

[xyz]

캐릭터 컬렉션. 포함된 문자 중 하나와 일치합니다. 예를 들어 '[abc]'는 "plain"의 'a'와 일치합니다.

[^xyz]

부정 문자 모음입니다. 포함되지 않은 모든 문자와 일치합니다. 예를 들어 '[^abc]'는 "plain"의 'p', 'l', 'i', 'n'과 일치합니다.

[a-z]

문자 범위. 지정된 범위 내의 모든 문자와 일치합니다. 예를 들어 '[a-z]'는 'a'부터 'z'까지의 범위에 있는 모든 소문자 알파벳 문자와 일치합니다.

[^a-z]

음수 문자 범위. 지정된 범위 내에 없는 모든 문자와 일치합니다. 예를 들어 '[^a-z]'는 'a'에서 'z' 범위에 없는 모든 문자와 일치합니다.

b

은 단어와 공백 사이의 위치를 ​​나타내는 단어 경계와 일치합니다. 예를 들어, 'erb'는 "never"의 'er'와 일치하지만 "동사"의 "er"는 일치하지 않습니다.

B

은 단어가 아닌 경계와 일치합니다. 'erB'는 "동사"의 'er'와 일치하지만 "never"에서는 일치하지 않습니다.

cx

은 x로 지정된 제어 문자와 일치합니다. 예를 들어, cM은 Control-M 또는 캐리지 리턴 문자와 일치합니다. x 값은 A-Z 또는 a-z 중 하나여야 합니다. 그렇지 않으면 c는 리터럴 'c' 문자로 처리됩니다.

d

은 숫자와 일치합니다. [0-9]와 동일합니다.

D

은 숫자가 아닌 문자와 일치합니다. [^0-9]와 동일합니다.

f

은 폼 피드와 일치합니다. x0c 및 cL과 동일합니다.

n

은 개행 문자와 일치합니다. x0a 및 cJ와 동일합니다.

r

은 캐리지 리턴 문자와 일치합니다. x0d 및 cM과 동일합니다.

s

공백, 탭, 양식 피드 등을 포함한 모든 공백 문자와 일치합니다. [fnrtv]와 동일합니다.

S

은 공백이 아닌 모든 문자와 일치합니다. [^ fnrtv]와 동일합니다.

t

은 탭 문자와 일치합니다. x09 및 cI와 동일합니다.

v

은 세로 탭 문자와 일치합니다. x0b 및 cK와 동일합니다.

w

문자, 숫자, 밑줄을 일치시킵니다. '[A-Za-z0-9_]'와 동일합니다.

W

문자가 아닌 숫자, 밑줄과 일치합니다. '[^A-Za-z0-9_]'와 동일합니다.

xn

은 n과 일치합니다. 여기서 n은 16진수 이스케이프 값입니다. 16진수 이스케이프 값은 정확히 두 자리 길이여야 합니다. 예를 들어 'x41'은 "A"와 일치합니다. 'x041'은 'x04' 및 "1"과 동일합니다. ASCII 인코딩은 정규식에서 사용할 수 있습니다.

num

은 num과 일치합니다. 여기서 num은 양의 정수입니다. 획득한 일치 항목에 대한 참조입니다. 예를 들어 '(.)1'은 두 개의 연속된 동일한 문자와 일치합니다.

n

8진수 이스케이프 값 또는 역참조를 식별합니다. n 앞에 가져온 n개 이상의 하위 표현식이 있는 경우 n은 역방향 참조입니다. 그렇지 않고 n이 8진수(0-7)이면 n은 8진수 이스케이프 값입니다.

nm

8진수 이스케이프 값 또는 역참조를 식별합니다. nm 앞에 최소 nm개의 획득 가능한 하위 표현식이 있는 경우 nm은 역방향 참조입니다. nm 앞에 최소한 n의 획득이 있으면 n은 역방향 참조이고 그 뒤에는 리터럴 m이 옵니다. 이전 조건 중 어느 것도 참이 아니고 n과 m이 모두 8진수(0-7)인 경우 nm는 8진수 이스케이프 값 nm과 일치합니다.

nml

n이 8진수(0-3)이고 m과 l이 모두 8진수(0-7)인 경우 8진수 이스케이프 값 nml과 일치합니다.

\un

匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。

\v元字符可以匹配垂直制表符。

语法结构:

(1).构造函数方式:

new RegExp(\\v)

(2).对象直接量方式:

/\v/

浏览器支持:

(1).IE浏览器支持此方法。

(2).火狐浏览器支持此方法。

(3).谷歌浏览器支持此方法。

(4).opera浏览器支持此方法。

(5).safria浏览器支持此方法。

实例代码:

var str="This is an \v good antzone";
var reg=/\v/;

总结

以上所述是小编给大家介绍的正则表达式 \v 元字符,希望对大家有所帮助。在此也非常感谢大家对php中文网的支持!

相关推荐:

常用的正则表达式实例整理

js正则表达式简介

JS中正则表达式的理解

위 내용은 정규식 v 메타문자에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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