問題タブ [regex-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 - 9番目の後方参照を超えて正規表現をグループ化するにはどうすればよいですか?
さて、notepad++で9番目の後方参照を超えてグループ化しようとしています。ウィキには、グループ命名を使用して9番目の参照を通過できると書かれています。ただし、一致する構文を正しく取得できないようです。簡単にするために、2つのグループから始めます。
サンプルデータ
正規表現。
ドキュメントによると、私は次のことをする必要があります。
ただし、結果として、テキストが見つかりません。助言がありますか?
objective-c - 正規表現 - URL パラメーターのグループの一致
この文字列から値を抽出する必要があります。
それで、私は次のようなことを考えました:
しかし、paramB がない場合や、params 値の中に「&」と「=」がある場合があります。
どうすればこれを修正できますか?
regex - 正規表現角かっこ内の複数の文字に一致するように指定する方法は?
ユーザー入力文字列が与えられた場合、.com、.net、.edu.、html などのいずれかで終わるかどうかを確認する必要があります。
正規表現の角かっこでこれを行う方法はありますか?
$[.com|.net|.html] と $[(.com)(.net)(.html)] を試しましたが、どちらも機能しません。
.net - .NET 正規表現のパフォーマンス
現在、次の正規表現を使用して、Outlook HTML メール アイテムから最初の会話アイテムを削除しています。
最初の会話アイテムを削除するには、最初に出現したグループ 1 をグループ 2 の値に置き換えます。.NET では次のようになります。
ReplaceFirst
独自の文字列拡張メソッドです。ただし、このパフォーマンスは少し残念です。Regex Coach はこれを巨大なメール アイテムにマイクロ秒で適用できますが、Outlook アドインでは最大 10 秒かかります。
パターンを次の明示的な代替手段に置き換えると、パフォーマンスが大幅に向上します。
その正規表現を使用すると、必要なものを取得するのに 1 秒もかかりません。ただし、これは言語固有であるため、以前のバリアントを優先します。.NET で高速化する方法はありますか? または、これでより良いパフォーマンスを発揮できるサードパーティの正規表現ライブラリはありますか?
提案をありがとう
パスカル
python - Kodos & 「オープン グループを参照できません」
1010 または 0101 のみに一致させたいが、1111 または 0000 には一致させたくない。次の正規表現を使用します。
これは Kodos でうまく機能しますが、group() のおかげで一致したシーケンスも必要です。私はもう試した :
しかし、Kodosで「open group*を参照できません」と表示されて、なぜ動かないのかわかりません。
助けてくれますか ?
編集: 適切な正規表現は(\b(((1|0)(?!\3))+)
.
python - 1つまたは2つのグループ、あるいはその両方に一致する正規表現
1つのグループまたは2つのグループのいずれかに一致する正規表現が必要です。これがどのように見えるかの例です。このように:
(鍵)
またはこのように:
(キー「値」)
これまでのところ、後者の例に一致する式を考え出しました。しかし、前者または後者のいずれかに一致するように変更する方法がわかりません。ここにあります:
javascript - 単一のキャプチャ グループ (複数のグループ) から一致の配列を返す JavaScript 正規表現後方参照
これは不可能であるという答えを見つけるために夜を過ごした後、私は回避策を開発しました-しかし、誰かがより良い方法を知っているなら、私はそれを聞きたいです...
私はコードを何度も繰り返しましたが、以下は単なる考えにすぎません。ある時点で、match() が機能するためにグローバル フラグを使用していたと思いますが、それが今必要であったかどうかは思い出せません。
この簡略化されたコードのアイデアは、オプションのグループ 1 であり、量が指定されておらず、@abc、@def、および @ghi に一致します。1 つまたは複数のアルファベット文字のみがキャプチャされます。グループ 2 は、& 記号の一致を除いて同じです。また、文字列の最初と最後に固定する必要があります。
両方のグループのすべての一致を後方参照できるようにしたい、つまり:
私の仲間は、これが .net でうまく機能すると言っています。
(さらに、どちらかのグループをオプションにすることは、グローバル フラグを設定する場合と同様に混乱を招きます)
以下は、問題の部分全体をキャプチャし、自分で配列を作成して、私がたどり着いた解決策です。
regex - emacs 関数 re-search-forward 解釈 \( \) グループ文字を文字通り正規表現で
以下に示すバッファー内の引用テキストのすべてのインスタンスを非引用バージョンに置き換えるために、replace-regexp を対話的に使用することに成功しました。私が検索した正規表現は
挿入した NEWTEXT は \1 でした。
インタラクティブに、上のテキストが下のテキストに変わりました。
次の2行を挿入して、これと同じ検索と置換をプログラムで実行しようとしました
バッファの先頭で実行されましたが、単一の一致が見つからずに単に nil が返されました。
を省略すると
グループ化し、\1 を \& に置き換えます
引用符で囲まれたすべての文字列が「&」に置き換えられます。
これらの関数の両方のドキュメントで見たものはすべて、これらの関数がこれらの特殊文字を認識する必要があることを示しており、このフォーラムの他の質問への回答での使用例ではこれらの特殊文字が使用されています。
グループ化と \&、\N、\ 文字が正しく解釈されない理由を理解できる人はいますか?
python - オプションの部分文字列に基づいてオプションのグループをキャプチャする正規表現
オプションの部分文字列に基づいてオプションのグループをキャプチャする正規表現を作成したいと考えています。例は次のとおりです。
等
DATE
and パラメータ%H:%M
をキャプチャしたいと思います。式(.*?)\[\[(.*?)\]\]
はパラメーターで機能しますが、オプションの除外文字列は失敗し、null を返します。
regex - 正規表現のアトミック グループ化は貪欲ではありません
のようなエスケープされた文字列に一致する正規表現を構築しようとしています@"hello""world"
。これまでのところ私は持っています(空白を無視してください):
問題は、無効な (閉じられていないため) 文字列が@"""
として一致すること@""
です。アトミック グループ化、別名非バックトラッキング部分式を使用(?>""|[^"])*
すると、最後の 2 つの二重引用符に一致し@"""
(左の代替が 2 つの二重引用符に一致する可能性があるため)、必要に応じて全体的な一致が失敗する ("
正規表現の最後の部分が一致しないため) と考えました。存在します) しかし、グループは十分に貪欲ではないように見えます (貪欲な量指定子と原子グループ化がありますが)正規表現が失敗したことに気付くとすぐに、正規表現の*
最初の後にポイントに戻ります. "
回避策は正規表現の最後に置くことです(?!")
が、アトミックグループ化で機能しない理由を知りたいです。