[解決済み] 正規表現における「♪」と「♪」の違いについて
質問
私は正規表現の本を読んでいて、次のような例を見つけました。
\b
:
猫は餌を部屋中にばらまいた。
正規表現を使用する
\bcat\b
という単語は
cat
を使用することはできませんが
cat
で
scattered
.
について
\B
は、著者は次のような例を使っています。
9桁のidをそのまま入力してください。
色分けされたパスキーの上に表示されます。
正規表現を使用する
\B-\B
マッチ
-
という単語の間に
color - coded
. 使用方法
\b-\b
一方
-
で
nine-digit
と
pass-key
.
なぜ、最初の例では
\b
を分離するために
cat
を使用し、2つ目では
\B
を分離するために
-
? 使用方法
\b
の例では、先ほどと逆のことを行っています。
その違いを説明してください。
EDIT: また、どなたか新しい例で説明していただけませんか?
どのように解決するのですか?
混乱の原因は、あなたの考え方にあります。
\b
はスペースにマッチします(おそらく "b" が "blank" を示唆するからでしょう)。
\b
にある空文字列にマッチします。
単語の先頭または末尾
.
\B
は、単語の最初でも最後でもない空の文字列にマッチします。 ここで重要なのは、"-" は単語の一部ではないということです。 つまり
<left>-<right>
マッチ
\b-\b
の両側には単語の境界があるためです。
-
. 一方
<left> - <right>
(スペースに注意)ダッシュの両側には単語の境界線がありません。 単語の境界は、さらに左右に1つずつスペースがあります。
一方、検索時に
\bcat\b
単語境界はより直感的に動作し、予想通り " cat " とマッチします。
関連
-
[解決済み】regex オプションのワードマッチ
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] 正規表現を使用した電話番号の検証方法
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] bashと正規表現を使って1行でプロセスを検索してkillする
-
[解決済み] Microsoft Excelで正規表現(Regex)をセル内とループの両方で使用する方法
-
[解決済み] re.searchとre.matchの違いは何ですか?
-
[解決済み] Regex 2つの文字列間のすべての文字にマッチする
-
[解決済み】Java Regexのmatches()とfind()の違いについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Regexのオプショングループ
-
[解決済み] Regex:最初に出現する文字までのマッチング
-
[解決済み] 正規表現におけるスラッシュのエスケープ
-
[解決済み] /bb|[^b]{2}/ どのように機能するのですか?[クローズド]
-
[解決済み] アポストロフィの正規表現
-
[解決済み] 小数点以下2桁までの値にマッチする正規表現
-
[解決済み] XPathのcontains関数で正規表現を使用する方法
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] 正規表現は、文字列がターゲットで終わる場合にのみマッチします。
-
[解決済み] Regexクレジットカード番号テスト