ホームページ  >  記事  >  ウェブフロントエンド  >  JS 正規表現におけるメタキャラクターと文字クラスの分析についての深い理解

JS 正規表現におけるメタキャラクターと文字クラスの分析についての深い理解

不言
不言オリジナル
2018-07-11 09:29:161473ブラウズ

この記事では、JS 正規表現をより深く理解するためのメタキャラクターと文字クラスの分析を主に紹介します。必要な友人に参考にしていただけるように共有します

。メタ文字

正規表現は、次の 2 つの基本的な文字タイプで構成されます:

1. 元の (通常の) テキスト文字: a、b、c、1、2、3 など、独自の意味を表す文字。

2. メタキャラクター: メタキャラクターは、正規表現で特別な意味を持つ文字ではありません。たとえば、b は単語の先頭または末尾を表します。

共通のシンボル メタキャラクター: b代表单词边界,可以是单词的开头或结尾。

常见的符号元字符:

* + ? $ ^ . | \ () {} []

字符类

一般情况下,正则表达式一个字符对应字符串一个字符。比如,表达式abt的含义就是ab加上一个t(水平制表符)。

但是,很多时候,我们不想匹配某个字符,而想匹配某类字符。此时,我们可以使用元字符[]来构建一个简单的类。

所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符。表达式[abc]把字符abc归为一类,可以匹配这类字符。

示例:

let reg = /[abc]/g
let text = 'a1b2c3d4e5'
text.replace(reg, 'X')  // X1X2X3d4e5

可以发现,当正则表达式匹配到abc时,自动替换为X

字符类取反

很多时候回碰到这么一种情况,即不想匹配某些字符,其他都匹配。此时,可以使用字符类取反——使用元字符`^创建反向类,即不属于某类的内容。

表达式[^abc]表示不是字符abc的内容。

示例:

let reg = /[^abc]/g
let text = 'a1b2c3d4e5'
text.replace(reg, 'X')  // aXbXcXXXXX

结果表明,当表达式匹配到abc时,不进行处理,其余的字符都转换为了X

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

<a title="深入理解JS正则表达式之REGEXP对象的解析" href="http://www.php.cn/js-tutorial-406370.html" target="_blank">深入理解JS正则表达式之REGEXP对象的解析</a>

<a title="JavaScript实现快速排序的算法思想" href="http://www.php.cn/js-tutorial-406371.html" target="_blank" style='font-family: "Microsoft Yahei", "Hiragino Sans GB", Helvetica, "Helvetica Neue", 微软雅黑, Tahoma, Arial, sans-serif;'>JavaScript实现快速排序的算法思想</a><br>rrreee

Character クラス🎜🎜 一般に、正規表現内の 1 つの文字は文字列内の 1 つの文字に対応します。たとえば、式 abt は、abt (水平タブ文字) を意味します。 🎜🎜ただし、多くの場合、特定の文字を一致させたいのではなく、特定のタイプの文字を一致させたいと考えます。この時点で、メタキャラクター [] を使用して単純なクラスを構築できます。 🎜🎜いわゆるクラスは、特定の文字ではなく、特定の特性に準拠するオブジェクト、つまり一般的な参照を指します。式 [abc] は、文字 ab、または c を 1 つのカテゴリにグループ化し、そのような文字と一致させることができます。 🎜🎜例: 🎜rrreee🎜正規表現が ab、または c に一致すると、自動的に に置き換えられることがわかります。 > X🎜🎜文字クラスの否定🎜🎜 多くの場合、特定の文字と一致させたくないが、他の文字と一致させたいという状況に遭遇します。現時点では、文字クラスを使用して否定することができます。つまり、メタ文字 `^ を使用して、逆クラス、つまり特定のクラスに属さないコンテンツを作成できます。 🎜🎜式 [^abc] は、文字 ab、または c ではないコンテンツを表します。 🎜🎜例: 🎜rrreee🎜結果は、式が a または b または c に一致する場合、残りの文字は処理されず、すべて変換されることを示していますへ🎜🎜関連する推奨事項: 🎜🎜<a title="JS 正規表現における REGEXP オブジェクトの分析の詳細な理解" href="http://www.php.cn/js-tutorial-406370.html%20" target="_blank">JS 正規表現における REGEXP オブジェクトの分析についての深い理解</a>🎜🎜<a title="JavaScript での迅速な並べ替えのためのアルゴリズムのアイデア" href="http://www.php.cn/js-tutorial-406371.html" target="_blank" style="font-family: " microsoft yahei sans gb neue>クイック ソートを実装するための JavaScript のアルゴリズムのアイデア</a><br>🎜

以上がJS 正規表現におけるメタキャラクターと文字クラスの分析についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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