자바스크립트 정규식
정규 표현식(영어: 정규 표현식, 종종 코드에서 regex, regexp 또는 RE로 축약됨)은 단일 문자열을 사용하여 특정 구문 규칙을 따르는 일련의 문자열 검색 패턴을 설명하고 일치시킵니다.
텍스트 검색 및 텍스트 교체에 사용할 수 있는 검색 모드입니다.
정규 표현식이란 무엇인가요?
정규 표현식은 일련의 문자로 구성된 검색 패턴입니다.
텍스트에서 데이터를 검색할 때 검색 패턴을 사용하여 쿼리하려는 내용을 설명할 수 있습니다.
정규 표현식은 단순한 문자일 수도 있고 더 복잡한 패턴일 수도 있습니다.
정규식은 모든 텍스트 검색 및 텍스트 바꾸기 작업에 사용할 수 있습니다.
문법
/pattern/modifiers;
예:
var patt = /phpl/i
예제 분석:
/php/i는 정규 표현식입니다.
php는 패턴입니다(검색에 사용됨).
i는 수정자입니다(검색은 대소문자를 구분하지 않습니다).
문자열 메서드 사용
JavaScript에서 정규식은 일반적으로 두 가지 문자열 메서드, search() 및 바꾸기()에 사용됩니다.
search() 메서드는 문자열에서 지정된 하위 문자열을 검색하거나 정규 표현식과 일치하는 하위 문자열을 검색하고 하위 문자열의 시작 위치를 반환하는 데 사용됩니다.
replace() 메서드는 문자열의 일부 문자를 다른 문자로 바꾸거나 정규식과 일치하는 하위 문자열을 바꾸는 데 사용됩니다.
search() 메소드는 정규식을 사용합니다
예
대소문자를 구분하지 않고 "php.cn" 문자열을 검색하려면 정규식을 사용하세요.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>搜索字符串 "php.cn", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php.cn!"; var n = str.search(/php.cn/i); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
프로그램을 실행하여 사용해 보세요.
search() 메서드는 문자열을 사용합니다.
검색 메서드는 문자열을 매개변수로 사용할 수 있습니다. . 문자열 매개변수는 정규 표현식으로 변환됩니다:
Example
문자열에서 "php.cn"의 하위 문자열을 검색합니다:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>搜索字符串 "php.cn", 并显示匹配的起始位置:</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var str = "Visit php.cn!"; var n = str.search("php.cn"); document.getElementById("demo").innerHTML = n; } </script> </body> </html>
프로그램을 실행하여 사용해 보세요
replace() 메서드 정규식을 사용합니다 Expression
Example
정규식과 대소문자를 구분하지 않고 문자열의 Microsoft를 php.cn으로 바꿉니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>替换 "microsoft" 为 "php.cn" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"php.cn"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
프로그램을 실행하여 사용해 보세요
replace() 메소드 문자열
replace() 메소드를 사용하면 문자열이 매개변수로 수신됩니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <p>替换 "Microsoft" 为 "php.cn" :</p> <button onclick="myFunction()">点我</button> <p id="demo">请访问 Microsoft!</p> <script> function myFunction() { var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","php.cn"); document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
프로그램을 실행하여 사용해 보세요.
팁:
정규 표현식 매개변수를 위 메소드에서 대신 사용할 수 있습니다. 문자열 매개변수).
정규식은 검색 기능을 더욱 강력하게 만듭니다(예: 대/소문자를 구분하지 않음).
정규 표현식 수정자
수정자는 전역 검색에서 대소문자를 구분할 수 있습니다.
수정자 | 설명 |
---|---|
i | 대소문자 구분- 무감각 일치. |
g | 전역 일치를 수행합니다(첫 번째 일치 항목을 찾은 후 중지하는 대신 모든 일치 항목 찾기). |
m | 다중 줄 일치를 수행합니다. |
정규 표현식 패턴
대괄호는 다양한 문자를 찾는 데 사용됩니다.
Expression | Description |
---|---|
[abc] | 대괄호 문자 사이에 있는 항목을 찾습니다. |
[0-9] | 0부터 9까지의 숫자를 찾으세요. |
(x|y) | |로 구분된 옵션을 찾으세요. |
메타 문자는 특별한 의미를 갖는 문자입니다.
메타 문자 | Description |
---|---|
d | 숫자를 찾습니다. |
s | 공백 문자를 찾습니다. |
b | 단어 경계를 일치시킵니다. |
uxxxx | 16진수 xxxx로 지정된 유니코드 문자를 찾으세요. |
정량자:
Quantifier | 설명 |
---|---|
n+ | 은 하나 이상의 n을 포함하는 모든 문자열과 일치합니다. |
n* | 은 0개 이상의 n을 포함하는 모든 문자열과 일치합니다. |
n? | 은 0개 또는 1개의 n을 포함하는 모든 문자열과 일치합니다. |
RegExp 개체 사용
JavaScript에서 RegExp 개체는 사전 정의된 속성과 메서드가 있는 정규식 개체입니다.
test() 사용
test() 메서드는 정규식 메서드입니다.
test() 메서드는 문자열이 특정 패턴과 일치하는지 감지하는 데 사용됩니다. 문자열에 일치하는 텍스트가 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
다음 예는 문자열에서 문자 "e"를 검색하는 데 사용됩니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <script> var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); </script> </body> </html>
프로그램을 실행하여 시도해 보세요
위의 두 줄의 코드는 정규식 변수를 설정할 필요가 없습니다.
/e/ .test("인생에서 가장 좋은 것은 무료입니다!")
exec() 사용
exec() 메서드는 정규 표현식 메서드입니다. .
exec() 메서드는 문자열에서 정규식 일치 항목을 검색하는 데 사용됩니다.
이 함수는 일치하는 결과를 저장하는 배열을 반환합니다. 일치하는 항목이 없으면 반환 값은 null입니다.
다음 예는 문자열에서 문자 "e"를 검색하는 데 사용됩니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP中文网(php.cn)</title> </head> <body> <script> var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); </script> </body> </html>
프로그램을 실행하여 사용해 보세요