問題タブ [regex-greedy]
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 - ファイルパスを解析するための正規表現
私はこのテキストを持っています:
デバッグ情報ファイル 'c:\Users\Path1\Path2\Strategies\Path3\CustomStrategy.PDB' の作成中に予期しないエラーが発生しました -- 'c:\Users\Path1\Path2\Strategies\Path3\CustomStrategy.pdb: システムがパスを見つけられません指定。
ファイル パスc:\Users\Path1\Path2\Strategies\Path3
またはを解析する必要がありますc:\Users\Path1\Path2\Strategies\Path3\CustomStrategy.PDB
。次の正規表現を使用しようとしました
ただし、この RegEx は最初のファイル拡張子で停止せず、パスの 2 番目のインスタンスと一致し続け、.pdb の 2 番目のインスタンスで停止します。したがって、両方のファイル パスを 1 つの正規表現に一致させます。
正規表現が 2 つのパスを 2 つの別個の一致として解析するには、何を変更する必要がありますか? ありがとう。
regex - 正規表現は最初のインスタンスのみに一致します
何らかの理由で、遅延マッチングを使用できません。
ここにテキストがあります -
そして、「apache2」を含む最初の行のみに一致させたい
私の正規表現は次のようになります-
しかし、それは機能していないようです-すべてのインスタンスに一致します。どうしたの?
regex - 非貪欲に一致する正規表現を作成するにはどうすればよいですか?
非貪欲なオプションを使用した正規表現の一致について助けが必要です。
一致パターンは次のとおりです。
一致するテキストは次のとおりです。
http://regexpal.comでテストします
<img
この式は、 fromから lastまでのすべてのテキストに一致します>
。>
initial の後に最初に遭遇したものと一致させる<img
必要があるため、ここでは、取得したものではなく 2 つの一致を取得する必要があります。
non-greedy?
のすべての組み合わせを試しましたが、成功しませんでした。
c# - 左側のみの正規表現欲張り(.net)
2つの文字列間の一致をキャプチャしようとしています。
たとえば、「最も早い」一致を使用して、QとXYZの間に表示されるすべてのテキストを探しています(外側に拡大し続けることはありません)。この文字列:
サーカスQこんにちはそこにQSOMETEXTXYZ今日はXYZ大丈夫XYZの日です
戻る必要があります:
Q SOMETEXT XYZ
しかし、代わりに、次のようになります。
Qこんにちは、Q SOMETEXT XYZ
これが私が使用している表現です: Q。*?XYZ
左に戻りすぎています。アスタリスクの後に疑問符を使用すると、ライド側で正常に機能しています。左側についても同じことを行い、最初の左側のQを押したら停止して、右側と同じように機能させるにはどうすればよいですか?http://msdn.microsoft.com/en-us/library/az24scfc.aspxから疑問符やその他の記号を試しましたが、理解できないことがあります。
私は正規表現の初心者なので、これに関するサポートをいただければ幸いです。
regex - 正規表現のアトミック グループ化は貪欲ではありません
のようなエスケープされた文字列に一致する正規表現を構築しようとしています@"hello""world"
。これまでのところ私は持っています(空白を無視してください):
問題は、無効な (閉じられていないため) 文字列が@"""
として一致すること@""
です。アトミック グループ化、別名非バックトラッキング部分式を使用(?>""|[^"])*
すると、最後の 2 つの二重引用符に一致し@"""
(左の代替が 2 つの二重引用符に一致する可能性があるため)、必要に応じて全体的な一致が失敗する ("
正規表現の最後の部分が一致しないため) と考えました。存在します) しかし、グループは十分に貪欲ではないように見えます (貪欲な量指定子と原子グループ化がありますが)正規表現が失敗したことに気付くとすぐに、正規表現の*
最初の後にポイントに戻ります. "
回避策は正規表現の最後に置くことです(?!")
が、アトミックグループ化で機能しない理由を知りたいです。
ruby - ネストされた一致を見つけるためのruby正規表現
私の正規表現は
テスト文字列は
私が得ている試合は
しかし、別の短い一致「プログラミングテストThis」があります。これは、この正規表現では見つけることができません。スキャンメソッドを使用してすべての一致を見つけましたが、これをキャプチャすることさえできません。
どんな助けでも大歓迎です
java - 正規表現の問題の競合
スタックオーバーからの回答がありません。私に何か問題がありましたか..?
以下の正規表現の問題を見つけるのを手伝ってください。
「(ix) (a) This is Sample Sentence.」で始まる入力テキストがある場合。、
両方の正規表現パターンに一致します
^9\.|^\s*[(](ix)[)]
^9\.\s*[(]?a[)]?|^\s*[(]\s*(ix)\s*[)]\s*[(]\s*(a)\s*[)]
私の入力文は(ix)と(ix)(a)で始まるからです。
入力文と一致する正規表現を送ってください。
regex - 正規表現を使用したフィルター条件の解析
正規表現を使用して単純なフィルター条件を解析しようとしています
フィルタの構文は次のとおりです。
私は次のことを思いついた(scalaで)
いいスタートです
ここで、値が渡されないときに正規表現でキャッチ(エラーを発生)させたい
私はこれで試しました(最後のグループをオプションではありませんでした)
したがって、問題は、演算子を「<>」として正しく認識せず、演算子を「<」として認識し、値を「」として認識することです(firest reg expでテストすると、正しく認識されます)演算子を<>として認識し、値を "")として認識します
正規表現に演算子を貪欲に一致させるように指示する必要があると思いますが、デフォルトではそのようになっていると思いました...
- 編集
このscalaコンソールをオンラインで見つけました。正規表現をテストして くださいhttp://www.simplyscala.com/
-
javascript - 最初の一致のみに一致するグローバルフラグを持つ正規表現
どして:
戻る
["[#12345678]"、 "[#12345678]"、 "12345678"]
それらすべての数字に一致させたいのですが、貪欲すぎるようです。
[#12345678] [#87654321] [#56233001] [#36381069] [#23416459] [#56435355] 12345678 87654321 56233001 36381069 23416459 56435355
regex - 単一のスペースで区切られた単語と複数のスペースで区切られた単語を一致させる方法
以下のようなテキストからキーと値を分離する必要があります
学生ID:0
部門ID=18432
名前XYZ
上記の例では、Student ID、Department ID、およびNameがキーであり、0,18432、XYZが値です。キーは、:、=または複数のスペースで値から区切られます。などの正規表現を試しました
私が直面している問題は、単語が1つのスペースで区切られている場合と、複数のスペースで区切られている場合を特定することです。
私が取得する出力は、行がStudent ID:0キーがStudent、値がID:0で、キーが必要な場合はStudent ID、値が0です。Subjects:やComputer Architectureのような行の場合、キーにはSubjectsとComputerArchitectureが必要です。後で値やコロンがないときにロジックがあります。前のキーに文字列を追加して、Subjects = Computer Architecture; Advanced NetworkSecurity2のようになります。
更新:ルックビハインドオペレーターを使用していることを示してくれた池上に感謝します。しかし、私はまだそれを解決するのに問題があるようです。
つまり(?<!\s\s)\s* [:=]\s*|\s*
、2つ以上のスペースがある場合はすべてのスペースを消費し、2つの連続するスペースがない場合は、:または=を探してスペースを消費します。したがって、以下の行を式に渡すと、$ 1=Nameおよび$2= ABC XYZを取得する必要がありますか?
私が取得しているように見えるのは、キーが空で、値がNameABCXYZです。