ホームページ  >  記事  >  ウェブフロントエンド  >  jsのRegExpオブジェクトとは何ですか? js の RegExp オブジェクトの詳細な紹介

jsのRegExpオブジェクトとは何ですか? js の RegExp オブジェクトの詳細な紹介

不言
不言オリジナル
2018-08-20 15:17:101639ブラウズ

本篇文章给大家带来的内容是关于js中RegExp对象是什么?js中RegExp对象的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

RegExp 对象

正则表达式是描述字符模式的对象。

正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

语法

var patt=new RegExp(pattern,modifiers);

或者更简单的方式:

var patt=/pattern/modifiers;
  • pattern(模式) 描述了表达式的模式

  • modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配

注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:

var re = new RegExp("\\w+");
var re = /\w+/;

修饰符

修饰符用于执行区分大小写和全局匹配:

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

方括号

方括号用于查找某个范围内的字符:

表达式 描述
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。

元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符 描述
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NULL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

Quantifier

Quantifier Description
n+

は、少なくとも 1 つの n を含む文字列と一致します。

たとえば、/a+/ は、「candy」の「a」と「caaaaaaandy」のすべての「a」に一致します。

n*

は、0個以上のnを含む任意の文字列と一致します。

たとえば、/bo*/ は、「幽霊がブーイングした」の「ブー」と「鳥がさえずった」の「b」に一致しますが、「ヤギがうめいた」には一致しません。

n?

は、0 または 1 つの n を含む文字列と一致します。

たとえば、/e?le?/ は、「angel」の「el」と「angle」の「le」に一致します。

n{X}

は、次のシーケンスを含む文字列と一致します。

たとえば、 /a{2}/ は、「candy」の「a」には一致しませんが、「caandy」の 2 つの「a」と、「caaandy」の最初の 2 つの「a」に一致します。

n{X,}

X は正の整数です。少なくとも X 回連続して出現する場合、前のパターン n と一致します。

たとえば、/a{2,}/ は、「candy」の「a」とは一致しませんが、「caandy」と「caaaaaaandy」のすべての「a」と一致します。

n{X,Y}

X と Y は正の整数です。前述のパターン n は、少なくとも X 回、最大で Y 回出現する場合に一致します。

たとえば、/a{1,3}/ は「cndy」には一致しませんが、「candy」の「a」には一致し、「caandy」の 2 つの「a」は「caaaaaaandy」の最初の 3 つと一致します。 「「あ」。 「caaaaaandy」と一致する場合、元の文字列にさらに「a」が含まれている場合でも、一致は「aaa」になることに注意してください。

n$ は、nで終わる任意の文字列と一致します。
^n は、nで始まる任意の文字列と一致します。
?=n は、指定された文字列 n の直後に続く任意の文字列と一致します。
?!n は、指定された文字列 n が直後に続かない任意の文字列と一致します。

RegExp オブジェクトのメソッド

メソッド 説明
compile バージョン 1.5 では非推奨になりました。 正規表現をコンパイルします。
exec 文字列で指定された値を取得します。見つかった値を返し、その位置を決定します。
test 文字列で指定された値を取得します。 true または false を返します。
toString 正規表現の文字列を返します。

正規表現をサポートするStringオブジェクトのメソッド

メソッド 説明 FF IE
search Ret rieval と 正規表現が一致する値。 1 4
match 1 つ以上の正規表現に一致するものを検索します。 1 4
replace 正規表現に一致する部分文字列を置換します。 1 4
split 文字列を文字列の配列に分割します。 1 4

RegExp オブジェクトのプロパティ

Property Description
constructor RegExp オブジェクトを作成するためのプロトタイプである関数を返します。
global "g" 修飾子が設定されているかどうかを確認します
ignoreCase "i" 修飾子が設定されているかどうかを確認します
lastIndex 次の一致の開始位置を指定するために使用されます
multiline

"m"修飾子が設定されているかどうかを決定します

source 定期的な式パターン

関連する推奨事項:

JavaScript 拡張チュートリアル - RegExp オブジェクト

JavaScript コア リファレンス チュートリアル RegExp Object_javascript スキル

以上がjsのRegExpオブジェクトとは何ですか? js の RegExp オブジェクトの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。