[解決済み] 10回以上繰り返される文字にマッチする正規表現
2022-06-05 05:49:35
質問
同じ文字が10回以上繰り返されている場合にマッチする簡単な正規表現を探しています。例えば、横線が散乱している文書があったとします。
=================================================
の行にマッチします。
=
の文字が10回以上繰り返されているため、マッチします。
注
にも使えるようにしてほしいということです。
任意の
の文字で動作させたい。
どのように解決するのですか?
必要な正規表現は
/(.)\1{9,}/
.
テストします。
#!perl
use warnings;
use strict;
my $regex = qr/(.)\1{9,}/;
print "NO" if "abcdefghijklmno" =~ $regex;
print "YES" if "------------------------" =~ $regex;
print "YES" if "========================" =~ $regex;
ここでは
\1
は後方参照と呼ばれます。これは、ドットで捕捉されたものを参照する
.
という括弧の間にある
(.)
を指定し、その後に
{9,}
は同じ文字が9個以上あるかどうかを尋ねます。したがって、これは任意の一文字の10個以上と一致します。
上記のテストスクリプトはPerlで書かれていますが、これは非常に標準的な正規表現の構文であり、どの言語でも動作するはずです。例えば Emacs では
\(.\)\1\{9,\}
というように書きます。
文字列全体が9文字以上の同一文字で構成されるべき場合、パターンの周囲にアンカーを追加します。
my $regex = qr/^(.)\1{9,}$/;
関連
-
[解決済み] 最初のマッチで停止する正規表現
-
[解決済み] PostgreSQL での isnumeric()
-
[解決済み] 正規表現 AND 演算子
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
-
[解決済み] 正規表現で複数行にまたがる任意の文字にマッチさせるにはどうしたらよいですか?
-
[解決済み] 貪欲 vs. 渋い vs. 所有格の修飾語
-
[解決済み] Javaで正規表現のテキストをエスケープする方法
-
[解決済み】正規表現で「任意の文字」にマッチさせる方法とは?
-
[解決済み】MySQLで正規表現による置換を行うには?
最新
-
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 オプションのワードマッチ
-
[解決済み] Regex Last occurrence?
-
[解決済み] PostgreSQL での isnumeric()
-
[解決済み] 小数点以下2桁までの値にマッチする正規表現
-
[解決済み] RegEx: 引用符で囲まれた値を取得する
-
[解決済み] Regex - ハイフンはエスケープされるべきか?重複
-
[解決済み] sedで非欲張り(消極的)な正規表現マッチング?
-
[解決済み] この文字にマッチしない」という意味の正規表現演算子はどれ?
-
[解決済み] Grepの「Invalid range end」-バグか機能か?