>> ZG·言語学習 >  >> 理論言語学 >> 構文

正規表現の単語境界とは何ですか?

正規表現では、単語の境界はゼロ幅のアサーションであり、キャラクターと一致しないことを意味しますが、周囲の文字に関する特定の条件を主張します。単語文字(英数字またはアンダースコア)と非単語文字の位置、または文字列の先頭または最後の位置に一致します。

これが故障です:

一致するもの:

* 単語と非単語の文字の間:

* `\ bcat \ b`は「猫」と一致しますが、「caterpillar」または「tomcat」ではありません。

* 文字列の始まり:

* `\ bcat`「catapult」で「cat」と一致しますが、「tomcat」には一致しません。

* 文字列の終わり:

*「cat \ b`は「catapult」で「猫」と一致しますが、「tomcat」には一致しません。

一致しないもの:

* 単語内:

* `\ bcat \ b`は、単語の中にあるため、「Tomcat」の「猫」と一致しません。

* 2つの非単語文字の間:

* `\ bcat \ b`は、2つの非単語文字の間にあるため、「123cat456」の「cat」と一致しません。

一般的な用途:

* 正確なワードマッチング: それを使用して、より大きなテキスト内の単語の一部ではなく、完全な単語のみと一致するようにすることができます。

* 特定の位置で単語を見つける: たとえば、行または文字列の最初または最後に単語を見つけることができます。

* 不要な一致を除く: 単語の境界を使用して、不要な単語の部分を一致させないようにすることができます。

例:

「 `` regex

\ bcat \ b

`` `

この正規表現は、完全な単語として表示されるときの「猫」という言葉と一致します。 「Tomcat」や「Caterpillar」の「猫」とは一致しません。

注:

*境界アサーションという単語は「\ b`」で表されます。

*文字という単語は通常、「[a-za-z0-9_]」として定義されますが、これは特定の正規表現エンジンによって異なる場合があります。

*プログラミング言語によっては、構文が異なる場合があります。

単語の境界を理解することは、テキスト内の目的の一致を正確にキャプチャする正確で効率的な正規表現を作成するために重要です。

著作権 © ZG·言語学習(www.zongjiefanwen.com) 無断複写・転載を禁じます。