자바스크립트 정규 표현식



정규 표현식(영어: 정규 표현식, 종종 코드에서 regex, regexp 또는 RE로 축약됨)은 단일 문자열을 사용하여 특정 구문 규칙을 따르는 일련의 문자열 검색 패턴을 설명하고 일치시킵니다.

검색 모드를 사용하여 텍스트 검색 및 텍스트 교체가 가능합니다.


정규식이란 무엇인가요?

정규 표현식은 일련의 문자로 구성된 검색 패턴입니다.

텍스트의 데이터를 검색할 때 검색 패턴을 사용하여 쿼리하려는 내용을 설명할 수 있습니다.

정규식은 간단한 문자일 수도 있고 더 복잡한 패턴일 수도 있습니다.

정규식은 모든 텍스트 검색 및 텍스트 바꾸기 작업에 사용할 수 있습니다.

문법

/패턴/수정자;

예:

var patt = /php/i

분석 예:

/php/i는 정규식입니다.

php는 패턴입니다(검색에 사용됨).

i는 수정자입니다(검색은 대소문자를 구분하지 않습니다).


문자열 메소드 사용

JavaScript에서 정규식은 일반적으로 두 가지 문자열 메소드인 search() 및 replacement()와 함께 사용됩니다.

search() 메서드 는 문자열에서 지정된 하위 문자열을 검색하거나 정규 표현식과 일치하는 하위 문자열을 검색하고 하위 문자열의 시작 위치를 반환하는 데 사용됩니다.

replace() 메소드 는 문자열의 일부 문자를 다른 문자로 바꾸거나 정규식과 일치하는 하위 문자열을 바꾸는 데 사용됩니다.


search() 메소드는 정규 표현식을 사용합니다

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>

<p>搜索字符串 "php", 并显示匹配的起始位置:</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction() {
    var str = "Visit php!"; 
    var n = str.search(/php/i);
    document.getElementById("demo").innerHTML = n;
}
</script>

</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요


search() 메서드는 문자열을 사용합니다

검색 메서드는 문자열을 매개 변수로 사용할 수 있습니다. 문자열 인수는 정규식으로 변환됩니다.

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>

<p>搜索字符串 "php", 并显示匹配的起始位置:</p>
<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction() {
    var str = "Visit php!"; 
    var n = str.search("php");
    document.getElementById("demo").innerHTML = n;
}
</script>

</body>
</html>

Run Instance»

"Run Instance" 버튼을 클릭하여 온라인 예제 보기



replace() 메서드는 정규 표현식을 사용합니다

인스턴스

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php</title>
</head>
<body>

<p>替换 "microsoft" 为 php" :</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");
    document.getElementById("demo").innerHTML = txt;
}
</script>

</body>
</html>

인스턴스 실행»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요


replace() 메소드 사용법 문자열

replace() 메소드는 문자열을 매개변수로 받습니다:

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>

<p>替换 "Microsoft" 为 "php" :</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");
    document.getElementById("demo").innerHTML = txt;
}
</script>

</body>
</html>

인스턴스 실행 중»

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요


눈치채셨나요?


Note위 방법에서는 정규식 매개변수를 사용할 수 있습니다(문자열 매개변수 대체). .
Note正则表达式参数可用在以上方法中 (替代字符串参数)。
正则表达式使得搜索功能更加强大(如实例中不区分大小写)。
정규 표현식을 사용하면 검색 기능이 더욱 강력해집니다(예: 대소문자 구분 안 함).



정규식 수정자

수정자 대소문자 가능 -전체 검색에서는 구분하지 않음:

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。



정규식 패턴

대괄호는 특정 범위 내에서 찾는 데 사용됩니다. 문자:

表达式描述
[abc]查找方括号之间的任何字符。
[0-9]查找任何从 0 至 9 的数字。
(x|y)查找任何以 | 分隔的选项。

메타문자는 특별한 의미를 지닌 문자입니다:

元字符描述
d查找数字。
s查找空白字符。
b匹配单词边界。
uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。

정량자:

量词描述
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。



RegExp 개체 사용

JavaScript에서 RegExp 개체는 사전 정의된 속성과 메서드가 있는 정규식 개체입니다.


test() 사용

test() 메서드는 정규식 메서드입니다.

test() 메서드는 문자열이 특정 패턴과 일치하는지 확인하는 데 사용됩니다. 문자열에 일치하는 텍스트가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

다음 예는 문자열에서 "e" 문자를 검색하는 데 사용됩니다.

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>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>

실행 예 »

온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요


exec() 사용

exec() 메서드는 일반 표현방법.

exec() 메서드는 문자열에서 정규식 일치 항목을 검색하는 데 사용됩니다.

이 함수는 일치하는 결과를 저장하는 배열을 반환합니다. 일치하는 항목이 없으면 반환 값은 null입니다.

다음 예는 문자열에서 문자 "e"를 검색하는 데 사용됩니다.

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>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>

실행 예 »

온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요


RegExp 참조 매뉴얼 전체

RegExp 개체 참조 매뉴얼 전체를 보려면, JavaScript RegExp 참조 매뉴얼을 참조하세요.

이 참조 매뉴얼에는 RegExp 개체의 모든 메서드와 속성이 포함되어 있습니다.