[解決済み] [Solved] Match linebreaks - \n or \r?
質問
執筆中
この回答
を使わず、改行のみでマッチングさせる必要がありました。
s
-フラグ (
dotall
- ドットは改行にマッチします)。
通常、正規表現のテストに使用されるサイトでは
\n
または
\r\n
.
気づいたこと
-
Regex101 は改行コードにのみマッチします。
\n
( 例 - 削除\r
とマッチします) -
RegExr は改行にマッチします。 どちらも オン
\n
また について\r\n
を除いて、改行と一致させるものが見当たりません。m
-フラグと\s
( 例 ) -
Debuggexはさらに違う挙動をします。
で この例 にのみマッチします。\r\n
一方
ここで にのみマッチします。\n
同じフラグとエンジンが指定されている場合
を十分に理解しています。
m
-フラグ(マルチライン - は
^
は、先頭と
$
を行末に設定する)ことができますが、時にはこのようなオプションがないこともあります。同じように
\s
タブやスペースにもマッチするからです。
私が考えたのは、ユニコードの改行文字(
\u0085
)は成功しませんでしたので。
- 改行でのマッチを (できれば使用言語に関係なく) 正規表現に統合するフェイルセーフな方法はありますか?
-
上記のサイトが異なる挙動をするのはなぜか(特にDebuggexは、一度だけ
\n
に一度だけ、そして\r\n
)?
解決方法は?
逆にお答えします。
2)
\r
と
\n
ここに掲載するよりもはるかに完成度の高いこの質問を参考にさせていただきました。
୧⃛(๑⃙⃘◡̈๑⃙⃘)
長い話になりますが、Linux では
\n
は改行、Windowsは
\r\n
と古いMacの
\r
. つまり、改行の書き方は複数あるのです。2番目のツール(RegExr)は、例えば、単一の
\r
.
1)
[\r\n]+
はうまくいきますが、複数の連続した改行にもマッチしてしまいます。
(\r\n|\r|\n)
の方がより正しい。
関連
-
[解決済み】正規表現における括弧のエスケープについて
-
[解決済み] 最初のマッチで停止する正規表現
-
[解決済み] Regex - ハイフンはエスケープされるべきか?重複
-
[解決済み] 正規表現の末尾にある中括弧内のカンマ区切りの数字は何を意味するのですか?
-
[解決済み] awk で gsub を使ってファイル中の ("./") と (".txt") の文字を検索・置換する方法
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] grepによるネガティブマッチング(fooを含まない行にマッチする)
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
-
[解決済み] PHP の preg_match_all() のように、JavaScript の正規表現で複数回マッチさせるにはどうしたらよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 正規表現におけるスラッシュのエスケープ
-
[解決済み] 正規表現で特定の単語を否定する方法は?重複
-
[解決済み] PostgreSQL での isnumeric()
-
[解決済み] bashスクリプトで「cd `echo $0 | sed 's/(.***)\/.*/**1/'` 」はどうするのですか?
-
[解決済み] スペースとタブの任意のシーケンスにマッチする正規表現を作成する方法
-
[解決済み] この文字にマッチしない」という意味の正規表現演算子はどれ?
-
[解決済み] Githubの「ブランチ名パターン」の否定
-
[解決済み] awk で gsub を使ってファイル中の ("./") と (".txt") の文字を検索・置換する方法
-
[解決済み] ୧⃛(๑⃙⃘◡̈๑⃙⃘)
-
[解決済み] 文字列の先頭と末尾から改行を取り除くには?