正規表現におけるキャレット
2023-09-17 18:53:09
質問
具体的には、いつ
^
は、正規表現において、どのような場合に "マッチスタート" を意味し、どのような場合に "以下ではない" を意味するのでしょうか?
Wikipediaの記事などから、先頭では前者、括弧で使われると後者を意味すると判断したのですが、キャレットが先頭にある場合と括弧にある場合では、プログラムではどのように処理されるのでしょうか?例えば、どうでしょう。
^[b-d]t$
は何にマッチするのでしょうか?
どのように解決するのですか?
^
の内部および冒頭にある場合のみ、"not the following"を意味します。
[]
という意味です。
[^...]
.
中に入っている場合
[]
が
ではない
を指定した場合、実際の
^
文字を意味します。
エスケープされている場合(
\^
) の場合、それはまた、実際の
^
という文字も意味します。
それ以外の場合は、文字列や行の開始を意味します(どれになるかは言語や設定に依存します)。
つまり、簡単に言うと
-
[^abc]
-a、b、cのいずれでもありません。 -
[ab^cd]
-a, b, ^ (文字), c, dのいずれかです。 -
\^
-> a^
キャラクター - その他の場所 -> 文字列/行の先頭です。
そこで
^[b-d]t$
は意味します。
- 行頭
- b/c/d文字
- t文字
- 行末
関連
最新
-
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 Last occurrence?
-
[解決済み] 最初のマッチで停止する正規表現
-
[解決済み] 与えられた文字列が与えられた部分文字列を含んでいるかどうかを見つけるための、scala の慣用的な方法は何ですか?
-
[解決済み] URLにセミコロンが含まれていても、有効なのでしょうか?
-
[解決済み] 正規表現の末尾にある中括弧内のカンマ区切りの数字は何を意味するのですか?
-
[解決済み] 標準的な10桁の電話番号にマッチする正規表現
-
[解決済み] 正規表現のメタ文字の違いについて
-
[解決済み] 正規表現は、文字列がターゲットで終わる場合にのみマッチします。
-
[解決済み] Regexクレジットカード番号テスト
-
[解決済み] Regex - 特定の文字が含まれていません。