問題タブ [capturing-group]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 一致したグループの部分文字列をキャプチャする
スカナリオ
構成された文字列から部分文字列を取得する必要があります。一致条件:
文字列は「section1:」で始まります
キャプチャされた文字列は、空白で区切られた、またはダッシュで区切られた英数字のリストです。
キャプチャされた文字列が特定のサフィックス ('-xx') で終わる場合、キャプチャされた文字列からサフィックスを除外します。
例
section1:ypsilon : セクション 1 が一致し、「ypsilon」を取得します
section1:ypsilon zeta : セクション 1 が一致し、「ypsilon zeta」を取得します
section1:ypsilon-zeta : セクション 1 が一致し、「ypsilon-zeta」を取得します
section1:ypsilon-xx : セクション 1 が一致し、「ypsilon」を取得し、「-xx」を除外します
section1:ypsilon zeta-xx : セクション 1 が一致し、「ypsilon zeta」を取得し、「-xx」を除外します
section1:ypsilon-zeta-xx : セクション 1 が一致し、「ypsilon-zeta」を取得し、「-xx」を除外します
section2:ypsilon : セクション 2 が一致しません
これまでの解決策
アイデアは、グループ 1 を取得することですが、グループ 2 はオプションです。 デモ。
質問
残念ながら、接尾辞はグループ 1 の定義と一致します。これは、ダッシュ付きのアルファベット文字列であるためです。そのため、キャプチャされた結果の文字列はサフィックスを除外しません。
どんな手掛かり?
regex - 正規表現、グループ キャプチャ、後方参照を使用した検索と置換
SQL Server 2008 R2 Management Studio で検索と置換操作を実行し、グループ キャプチャを使用して、置換でグループを逆参照できるようにしようとしています。このことから、SSMSが Visual Studio 2005 正規表現エンジンを使用していることがわかります。これが私が持っているものの例です:
これが私の「検索」式です。
ここに私の「置換」式があります:
ただし、置換操作を実行すると、キャプチャされたグループは返されません。つまり、各行は " " (<--- 2 つの後方参照の間のスペースのみ) になります。
私は何を間違っていますか?
regex - PCRE Regex を使用して Apache Web ログのフィールドを抽出する
PRCE Regex を使用して、さまざまな Apache ウェブログの各フィールドをキャプチャしたいと考えています。これらのログの構造は、次の例のようになります。
aaa bbb "cc c" ddd "eee" fff
各フィールドはスペースで区切られます。ただし、フィールドにスペースを含めることもできます。その場合は、フィールドの最初と最後に引用符を付けて結合します ("cc c")。スペースを含まないフィールドには、フィールドの最初と最後に引用符 ("eee") を付けることもできます。
結果には各フィールドのキャプチャ グループが含まれている必要があるため、例では次のようになります。 Group1: aaa Group2: bbb Group3: "cc c" Group4: ddd Group5: "eee" Group6: fff
私の問題は、たとえば量指定子を使用して、万能のソリューションが必要なことです-次のようなものです: (?:((aa|bb|"cc"|dd)\s){1,})
しかし、ここでは量指定子は常に aaa で繰り返されます。
きちんとした実用的なソリューションは大歓迎です。
ios - NSRegularExpression はキャプチャ グループの一致を見つけることができません
1 つの正規表現パターンを使用して文字列を解析しようとしています。
パターンは次のとおりです。
解析するテキストは次のとおりです。
これらの 4 つのキャプチャ グループを見つけたい:
これらのグループをキャプチャしようとしている次のコードを使用しています
残念ながら、次の範囲のグループを 1 つしか見つけることができませ(0, 8)
ん"base" {
。そのため、4 つのグループではなく、文字列全体である 1 つのグループが検出されます。
を使用してそれらのグループを取得することさえ可能NSRegularExpression
ですか?
c# - C#正規表現キャプチャグループが機能しない
次のコードでは、test で始まり、その後に二重引用符で囲まれたテキストが続くものをすべてキャプチャします。例えば
test"abc"
test"rst"
コードは正常に動作します。
次に、上記のキャプチャから、単語 test に続く部分式をキャプチャしたいと思います (上記の例では、これらの部分式は "abc" と "rst" で、" を含みます。次のことを試してみたところ、正しく表示されます:
"abc"
"rst"
質問: ここで、2 つの部分式 1. "abc" と "rst" 2. 一致する test"abc" と test"rst" に続く " 以外のすべての文字をキャプチャしたいと考えています。 "rst""uvw" に一致するグループ 1 と 2 が間違っています。"rst""uvw" のグループ 1 を "rst" にし、グループ 2 を空にする必要があります。"rst" に続く文字は ":
グループ 1: "abc"
グループ 2: =
グループ1:「最初」
グループ 2: う
python - Python: 正規表現: 1 つの正規表現でハイフン付きの名前とハイフンなしの名前を検出する
非常に長い文字列から人の名前を抽出する必要があります。
名前の形式は、LAST、FIRST です。
これらの人々の中には、ハイフンでつながれた名前を持っている人もいます。そうでない人もいます。
より小さな文字列での私の試み:
入力:
期待される出力:
実際の出力:
私は何を間違っていますか?
regex - Select-String の -Pattern の最後でグループのキャプチャが機能しない
最近、Powershell で正規表現を使い始めたところ、Select-String コマンドレットから予期しない応答が返されました。
次のようなものを入力すると、次のようになります。
Match-Info オブジェクトから期待される結果を受け取ります。
ただし、キャプチャ グループを -Pattern の最後に配置すると、次のようになります。
1 つが作成されますが、Match-Info は何も見つけられないようです。
私が言ったように、私は Powershell にまったく慣れていないので、この動作はオペレーターのエラーだと思います。
しかし、回避策は何ですか?この動作はまだ問題を引き起こしていませんが、私が扱っているファイル (XML ファイルに含まれる電子マニュアル) を考慮すると、最終的には問題になると思います。
...
よろしく、
シュベルト
...
説明:
動作を説明するために例を非常に単純にしましたが、最初の問題は次のパターンにありました。
このファイルはマニュアル間のリンクのインデックスの 1 つであり、リンクの名前はファイルの各行にあるコメント ブロック内に含まれています。
名前とコメントが行末まで表示されていないため、このパターンは実際にはタイプミスです。プログラムが Match-Info オブジェクトで「linkname」を見つけられなかったときにエラーを出し始めたときに、私はそれを見つけました。
リンク名の後に出現する文字 ( ::
) を指定すると、正しく機能しました。それを例に入れる: