js의 정규식 (1)
문자의 의미는 의미를 변경하는 데 사용됩니다. 즉, "" 뒤의 문자는 일반적으로 원래 의미에 따라 해석되지 않습니다. 예를 들어, /b/는 백슬래시가 문자 "b"와 일치합니다. b, /b/ 앞에 추가되면 의미가 변경되어 단어 경계와 일치합니다. -또는- 앞에 있는 메타 문자와 0번 이상 일치하는 "*"와 같은 정규식 함수 문자를 복원하면 /a*/는 ""를 추가한 후 a, aa, aaa와 일치하고, /a*/는 "만 일치합니다. 에이*". ^는 입력 또는 줄의 시작과 일치합니다. /^a/는 "an A"와 일치하지만 "An a"는 일치하지 않습니다. $는 입력 또는 줄의 끝과 일치하며, /a$/는 "An a"와 일치합니다. 그러나 "an A"와 일치하지 않습니다*는 이전 메타 문자와 0회 이상 일치합니다. /ba*/는 b, ba, baa, baaa와 일치합니다. + 이전 메타 문자와 1회 이상 일치합니다. /ba*/는 ba, baa와 일치합니다. , baaa?는 앞의 메타 문자와 0 또는 1번 일치합니다. /ba*/는 b와 일치하고, ba(x)는 x와 일치하며, $1...$9라는 변수에 x를 저장하고, x|y는 x 또는 y{n과 일치합니다. } 정확히 n 번 일치합니다. { n,} n 번 이상 일치합니다. {n,m} n-m 번 일치합니다. [xyz] 문자 집합(문자 집합), 이 집합의 모든 문자(또는 메타 문자)와 일치합니다. [^xyz] 일치하지 않습니다. 이 집합의 모든 문자 모든 문자 [b]는 백스페이스와 일치합니다. b는 단어 경계와 일치합니다. B는 단어가 아닌 경계와 일치합니다. cX 여기서 X는 제어 문자이고, /cM/는 Ctrl-M과 일치합니다. d는 영숫자 문자와 일치합니다. /d/ = / [0-9]/D는 영숫자가 아닌 문자와 일치하고, /D/ = /[^0-9]/n은 개행 문자와 일치합니다. r은 캐리지 리턴 문자와 일치합니다. s는 n, r, f를 포함한 공백 문자와 일치합니다 , t , v 및 기타 S는 /[^nfrtv]/t와 같은 공백이 아닌 문자와 일치합니다. v는 직선 탭 문자와 일치합니다. w는 단어를 구성할 수 있는 문자와 일치합니다(영숫자, 이것은 내 무료 번역, 숫자 포함), 밑줄 포함(예: "$5.98"의 5와 일치하는 [w], [a-zA-Z0-9]와 동일) W는 단어를 형성할 수 없는 문자와 일치(예: [W] 일치) "$5.98"의 $는 [^a-zA-Z0-9]와 같습니다.
re = new RegExp("pattern",["flags"])
pattern: 정규 표현식
flags: g를 사용하는 것이 더 좋습니다(전체 텍스트에서 모든 패턴 검색).
i(대소문자 무시)
m(여러 줄 검색) JavaScript 동적 정규식 질문 정규식을 동적으로 생성할 수 있습니까?
예를 들어 JavaScript에서는
var str = "strTemp";
생성하려면:
var re = /strTemp/;
문자 연결인 경우:
var re = "/" + str + "/"는 가능
그러나 표현식을 생성하려면, 어떻게 구현하나요?
정규 표현식은 문자 패턴을 설명하는 객체입니다.
JavaScript의 RegExp 개체와 String 개체는 정규식을 사용하여 강력한 패턴 일치와 텍스트 검색 및 교체 기능을 수행하는 방법을 정의합니다.
JavaScript에서 정규식은 다음과 같이 표현됩니다. 물론 RegExp() 생성자를 사용하여 RegExp 개체를 만들 수 있습니다.
JavaScript 1.2에 새로 추가된 특수 구문을 사용하여 RegExp 개체를 만들 수도 있습니다. 문자열 리터럴처럼. 따옴표로 묶인 문자로 정의되는 경우
정규식 리터럴은 슬래시(/) 쌍으로 묶인 문자로 정의됩니다. 따라서 JavaScript에는
var 패턴 = /s와 같은 코드가 포함될 수 있습니다. $/;
이 코드 줄은 새 RegExp 개체를 생성하고 이를 변수 Patternn에 할당합니다. 이 특수 RegExp 개체와 문자 "s"로 시작하는 모든 항목은 RegExp(를 사용하여 일치됩니다. ),
동등한 정규식을 정의할 수도 있으며 코드는 다음과 같습니다.
var Pattern = new RegExp("s$");
정규식 사용 여부 리터럴 또는 생성자 RegExp()를 사용하면 RegExp 객체를 생성하는 것이 상대적으로 쉽습니다. 더 어려운 작업은 정규식 구문을 사용하여 문자 패턴을 설명하는 것입니다.
JavaScript는 Perl 언어 정규의 상당히 완전한 하위 집합입니다. 표현식 구문
정규 표현식의 패턴 사양은 일련의 문자로 구성됩니다. 대부분의 문자(모든 영숫자 문자 포함)는 문자 그대로 일치하는 문자에 따라 설명됩니다. /java/는
하위 문자열 "java"를 포함하는 모든 문자열과 일치합니다. 정규식의 다른 문자는 문자 그대로 일치하지 않지만 모두 특별한 의미를 갖습니다. 정규식 /s$/에는
첫 번째 특수 문자 "s"는 문자 그대로 일치합니다. 두 번째 문자 "$"는 문자열의 끝과 일치하는 특수 문자입니다. 따라서 정규식 /s$/는 문자 "s"
로 끝나는 문자열과 일치합니다. .
1. 직접 문자
우리는 정규식의 모든 알파벳 문자와 숫자가 문자 그대로 일치한다는 것을 발견했습니다. 백슬래시()로 시작하는 이스케이프 시퀀스를 통해서도 지원됩니다.
알파벳 문자입니다. 예를 들어, 시퀀스 "n"은 문자열의 리터럴 줄 바꿈 문자와 일치합니다. 정규식에서 많은 구두점 문자는 다음과 같은 문자와 그 의미를 갖습니다. >정규식의 문자 그대로
문자 일치
____________________________
영숫자 자체
f 폼 피드 문자
n 줄 바꿈 문자
r 캐리지 리턴
t 탭 문자
v 세로 탭 문자
/ a/ 직접 수량
. a. 직접 수량
* a * 직접 수량
+ a 직접 수량
? 리터럴 수량
( a ( 리터럴 수량
) a ) 리터럴 수량
[ a [ 리터럴 수량
] a ] 리터럴 수량
{ a { 리터럴 수량
} a } 직접 수량
XXX 십진수로 지정된 ASCII 코드 문자
n에 유효함
_______________________________________________
도 일치합니다. 또한 대괄호 안에 포함된 문자를 제외한 모든 문자와 일치하는 부정 문자 클래스를 정의할 수도 있습니다. ^ 기호는 왼쪽 대괄호부터 세는
번째 문자로 사용해야 합니다. 정규 표현식 세트는 / [a-zA-z0-9] / .
일부 문자로 인해 클래스는 매우 일반적입니다. 따라서 JavaScript의 정규식 구문에는 일반적으로 사용되는 클래스를 나타내는 일부 특수 문자와 이스케이프 시퀀스가 포함되어 있습니다. 예를 들어 s는 공백, 탭 및 기타 공백 문자와 일치하고 s
는 공백을 제외한 모든 문자와 일치합니다. 🎜> 일반 테이블 회색 문자 클래스
문자는
________________________________________________________
[^...] 괄호 안의 모든 문자
와 일치합니다. 줄 바꿈을 제외한 문자, [^n]에 해당w [a-zA -Z0-9]에 해당하는 모든 단일 문자 문자
W [^a-zA-Z0-에 해당하는 단일 문자가 아닌 모든 문자 9]
s 공백 문자([t n r f v]와 동일)
S 공백이 아닌 모든 문자([^ t n r f v]와 동일)
d [0-9]와 동일
D 임의 숫자 이외의 문자, [^0-9]
[b]에 해당 백스페이스 리터럴(특수 사례)
______________________________________________________________
3. 복사
위 정규식 사용 구문에 따르면 두 자리 숫자는 /d d /로 설명할 수 있고, 네 자리 숫자는 /d d d d /로 설명할 수 있습니다. 하지만 임의의 자릿수나
문자열입니다. 이 문자열은 문자 뒤에 오는 숫자 1개로 구성됩니다. 이러한 복잡한 패턴은 표현식의 각 요소가 반복되는 횟수를 지정하는 정규식 구문을 사용합니다. 문자는 항상 적용된 패턴 뒤에 나타납니다. 이 복사 유형은 매우 일반적이므로 이를 나타내는 데 특별히 사용되는 특수 문자가 있습니다. 예: +는 이전 패턴을 한 번 복사하는 패턴과 일치합니다.
__________________________________________________
{n, m}은 이전 항목과 일치합니다. n번 이상, m번 이하입니다.{n, } 이전 항목과 n번 또는 여러 번 일치합니다.
{n} 이전 항목과 일치합니다. 항목이 정확히 n번? 이전 항목과 0번 또는 1번 일치합니다. 이는 이전 항목이 선택 사항임을 의미합니다.
+ 이전 항목과 1번 이상 일치하며, {1과 같습니다. ,}* 이전 항목 항목과 0회 이상 일치합니다. {0,}
______________________________________________________________
4. 선택, 그룹화 및 참조
정규 표현식의 구문 또한 선택 항목, 쌍을 지정하는 것도 포함됩니다. 표현식 그룹화 및 이전 하위 표현식 인용을 위한 특수 문자는 선택을 위해 문자를 구분하는 데 사용됩니다. 예: /ab|cd|ef/는 문자열 "ab"와 일치합니다.
문자열 "cd" 또는 "ef". /d{3}|[a-z]{4}/는 세 자리 숫자 또는 네 개의 소문자와 일치합니다. 대괄호에는 여러 가지 주요 기능이 있습니다. 개별 항목
을 하위 표현식으로 그룹화하여 해당 항목을 *, + 또는?를 사용하여 독립적인 단위처럼 처리할 수 있도록 하는 것입니다. 예: /java(script ) ?/ 문자열 "java"와 일치합니다. 뒤에 "script"가 올 수도 있고 안 올 수도 있습니다. /
(ab|cd) + |ef) / 문자열 " ef" 또는 문자열 "ab" 또는 "cd의 하나 이상의 반복과 일치합니다. ".
정규식에서 괄호의 두 번째 용도는 전체 패턴 내에서 하위 패턴을 정의하는 것입니다. 정규 표현식이 대상 문자열과 성공적으로 일치하면 대상 문자열에서 추출하여 괄호 안의 하위 패턴과 일치할 수 있습니다
예를 들어, 검색하는 패턴이 하나 이상의 문자와 하나 이상의 숫자라고 가정하면 /[a-z]+d+/ 패턴을 사용할 수 있습니다. 관심은 각 일치 항목 이 숫자로 끝나는 경우 패턴의 숫자 부분을 괄호(/ [a-z] + (d+)/) 안에 넣으면 검색된 모든 일치 항목에서 숫자를 추출할 수 있습니다. 나중에 이를 구문 분석할 것입니다. 괄호의 하위 표현식을 사용하면 동일한 정규 표현식 끝에서 이전 하위 표현식을 참조할 수 있습니다. 이는 문자를 추가하여 수행됩니다. 문자열 뒤의 숫자는 정규식에서 대괄호의 하위 표현식 위치를 나타냅니다. 예: 1은 대괄호의 첫 번째 하위 표현식을 나타냅니다. 3은 다음의 하위 표현식을 나타냅니다. 세 번째 괄호입니다. 하위 표현식은 다른 하위 표현식에 중첩될 수 있으므로 의 위치는 계산된 왼쪽 괄호 Position입니다. 예: 다음 정규 표현식에서는 2:
로 지정됩니다. /([Jj]ava([Ss]cript)) sis s (funw*) /
/[' "] [^ ' "]* [' "]/
/( [' "] ) [^ ' "] * 1/
有关正则表达式的语法还有最后一个元素,那就是正则表达式的属性,它说明的是高级模式匹配的规则.和其它正则表达式语法不同,属性是在 / 符号之外说明的.即它
们不出现在两个斜杠之间,而是位于第二个斜杠之后.javascript 1.2支持两个属性.属性 i 说明模式匹配应该是大小写不敏感的.属性 g 说明模式匹配应该是全局的.也
就是说,应该找出被检索的字符串中所有的匹配.这两种属性联合起来就可以执行一个全局的,大小写不敏感的匹配.
例如: 要执行一个大小不敏感的检索以找到词语 "java" (或者是 "java" 、"JAVA"等) 的第一个具体值,我们可以使用大小不敏感的正则表达式 /\b java\b/i .如果要在
一个字符串中找到 "java" 所有的具体值,我们还可以添加属性 g, 即 /\b java \b/gi .
以下是正则表达式的属性:
字符 含义
_________________________________________
i 执行大小写不敏感的匹配
g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了
_________________________________________
除属性 g 和 i 之外,正则表达式就没有其它像属性一样的特性了.如果将构造函数 RegExp 的静态属性 multiline 设置为 true ,那么模式匹配将以多行的模式进行.在这
种模式下,锚字符 ^ 和 $ 匹配的不只是检索字符串的开头和结尾,还匹配检索字符串内部的一行的开头和结尾.例如: 模式 /Java$/ 匹配的是 "Java",但是并不匹配
"Java\nis fun" .如果我们设置了 multiline 属性,那么后者也将被匹配:
RegExp.multiline = true;在JAVASCRIPT里面判断一个字符串是否是电子邮件的格式:if(formname.email.value!=formname.email.value.match(/^\w +[@]\w +[.][\w.] +$/)){alert("您的电子邮件格式错误!");formname.email.focus();return false;}
[RED]function dateVerify(date){
var reg = /^(\d{4})(-)(\d{2})\2(\d{2})$/;
var r = date.match(reg);
if(r==null) return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate();
date=r[1]+r[2]+((r[3]-1)+1)+r[2]+((r[4]-1)+1);
return newStr==date;
}[/RED]
javascript的17种正则表达式
"^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 "^(-?\\d+)(\\.\\d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^\\w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址 "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //ur

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 정규식 확인: 숫자 형식 감지 PHP 프로그램을 작성할 때 사용자가 입력한 데이터를 확인해야 하는 경우가 종종 있습니다. 일반적인 확인 중 하나는 데이터가 지정된 숫자 형식을 준수하는지 확인하는 것입니다. PHP에서는 정규식을 사용하여 이러한 종류의 유효성 검사를 수행할 수 있습니다. 이 기사에서는 PHP 정규식을 사용하여 숫자 형식을 확인하고 구체적인 코드 예제를 제공하는 방법을 소개합니다. 먼저 일반적인 숫자 형식 유효성 검사 요구 사항을 살펴보겠습니다. 정수: 0~9의 숫자만 포함하고 더하기 또는 빼기 기호로 시작할 수 있으며 소수점을 포함하지 않습니다. 부동 소수점

정규식을 사용하여 Golang에서 이메일 주소를 확인하려면 다음 단계를 따르세요. regexp.MustCompile을 사용하여 유효한 이메일 주소 형식과 일치하는 정규식 패턴을 만듭니다. MatchString 함수를 사용하여 문자열이 패턴과 일치하는지 확인합니다. 이 패턴은 다음을 포함하여 대부분의 유효한 이메일 주소 형식을 다룹니다. 로컬 사용자 이름에는 문자, 숫자 및 특수 문자가 포함될 수 있습니다: !.#$%&'*+/=?^_{|}~-`도메인 이름에는 최소한 다음이 포함되어야 합니다. 문자 1개 뒤에 문자, 숫자 또는 하이픈이 옵니다. 최상위 도메인(TLD)의 길이는 63자를 초과할 수 없습니다.

Go에서는 정규식을 사용하여 타임스탬프를 일치시킬 수 있습니다. ISO8601 타임스탬프를 일치시키는 데 사용되는 것과 같은 정규식 문자열을 컴파일합니다. ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . regexp.MatchString 함수를 사용하여 문자열이 정규식과 일치하는지 확인합니다.

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

PHP 정규식: 정확한 일치 및 제외 퍼지 포함 정규식은 프로그래머가 텍스트를 처리할 때 효율적인 검색, 바꾸기 및 필터링을 수행하는 데 도움이 되는 강력한 텍스트 일치 도구입니다. PHP에서는 정규식도 문자열 처리 및 데이터 일치에 널리 사용됩니다. 이 기사에서는 PHP에서 정확한 일치를 수행하고 퍼지 포함 작업을 제외하는 방법에 중점을 두고 구체적인 코드 예제를 통해 설명합니다. 완전 일치 완전 일치는 변형이나 추가 단어가 아닌 정확한 조건을 충족하는 문자열만 일치하는 것을 의미합니다.

Go에서 정규식을 사용하여 비밀번호를 확인하는 방법은 다음과 같습니다. 최소 비밀번호 요구 사항(소문자, 대문자, 숫자, 특수 문자를 포함하여 8자 이상)을 충족하는 정규식 패턴을 정의합니다. regexp 패키지의 MustCompile 함수를 사용하여 정규식 패턴을 컴파일합니다. MatchString 메서드를 사용하여 입력 문자열이 정규식 패턴과 일치하는지 테스트합니다.

PHP는 널리 사용되는 프로그래밍 언어이며 특히 웹 개발 분야에서 널리 사용됩니다. 웹 개발 과정에서 우리는 사용자가 입력한 텍스트를 필터링하고 검증해야 하는 경우가 종종 있는데, 그 중 문자 필터링은 매우 중요한 작업입니다. 이 기사에서는 PHP에서 정규식을 사용하여 중국어 문자 필터링을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 우선 한자의 유니코드 범위는 u4e00부터 u9fa5까지, 즉 모든 한자가 이 범위에 속한다는 점을 명확히 할 필요가 있다.

JavaScript에서 HTTP 상태 코드를 얻는 방법 소개: 프런트 엔드 개발에서 우리는 종종 백엔드 인터페이스와의 상호 작용을 처리해야 하며 HTTP 상태 코드는 매우 중요한 부분입니다. HTTP 상태 코드를 이해하고 얻는 것은 인터페이스에서 반환된 데이터를 더 잘 처리하는 데 도움이 됩니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. HTTP 상태 코드란 무엇입니까? HTTP 상태 코드는 브라우저가 서버에 요청을 시작할 때 서비스가
