[解決済み] 複数の繰り返しグループを捕捉するには?
2022-07-14 05:49:15
質問
同じパターンを持つ複数のグループをキャプチャしたい。例えば、以下のような文字列があったとします。
HELLO,THERE,WORLD
そして、次のようなパターンを書きました。
^(?:([A-Z]+),?)+$
グループ 1 は "HELLO"、グループ 2 は "THERE"、グループ 3 は "WORLD" というように、すべての単語を取得することです。私の正規表現が実際に捕捉しているのは、最後の1つである "WORLD" だけです。
私の正規表現をテストしています。 ここで をテストしていて、Swiftでそれを使いたいのです(たぶん、Swiftに中間結果を得る方法があるので、それを使うことができますか?)
UPDATE: 私は、このような場合
split
. 私はちょうど今、最後の1つだけでなく、パターンに一致するすべてのグループをキャプチャする方法を必要としています。
どのように解決するのですか?
パターン内の1つのグループに対して、そのグループ内の1つの正確な結果しか得られません。もし、捕捉グループがパターンによって繰り返される場合、(あなたが使用した
+
を使った場合)、それにマッチする最後の値だけが保存されます。
言語の正規表現実装関数を使って すべてのマッチを見つける のパターンの場合、アンカーと非捕捉グループの量詞を削除する必要があります (非捕捉グループ自体も省略できます)。
または、正規表現を拡張して、結果に取得したいグループごとに1つの捕捉グループを含むようにパターンを設定します。
^([A-Z]+),([A-Z]+),([A-Z]+)$
関連
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] XPathのcontains関数で正規表現を使用する方法
-
[解決済み] Regex for string contains?
-
[解決済み] Regex - 特定の文字が含まれていません。
-
[解決済み] awk で gsub を使ってファイル中の ("./") と (".txt") の文字を検索・置換する方法
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み】 正規表現文字列のエスケープ
-
[解決済み】単語間のスペースを許容する正規表現
-
[解決済み】Regexで一部のグループのみを置換する。
-
[解決済み] .NET正規表現における「グループ」と「キャプチャ」の違いとは?
最新
-
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/'` 」はどうするのですか?
-
[解決済み] 正規表現の主題文字列で空白を無視するには?
-
[解決済み] (grep) 非 ASCII 文字にマッチする正規表現ですか?
-
[解決済み] 特定の文字が後にない'単語'を探す
-
[解決済み] sedで非欲張り(消極的)な正規表現マッチング?
-
[解決済み] sedで行全体を置き換えるには?
-
[解決済み] 01-12]レンジが期待通りに動作しないのはなぜですか?
-
[解決済み] 一致した正規表現パターンを awk で表示するには?
-
[解決済み] 正規表現におけるバックスラッシュの後の数値の意味は?