問題タブ [matcher]

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.

0 投票する
1 に答える
1080 参照

java - Java 正規表現マッチャー

10 ほどの Web サイトからデータを取得しようとしていますが、各グループを単独で印刷するだけで問題なく動作します。10個のcourseCodeのリストを出力しますが、それらをこれらのベクトルに追加しようとすると、それぞれではなく最後のcourseCodeのみが追加されます. したがって、各ベクトルには 10 個の要素が必要ですが、1 個しかありません。一致を繰り返す方法はありますか?

0 投票する
1 に答える
177 参照

java - 正規表現グループを後処理値に置き換える方法は?

私はこのコードを持っています

入力は次のとおりです。

出力例:

テンプレートの {} セットを、メソッドによって返された選択された値に置き換えたいと考えています。Java1.5でそれを行うにはどうすればよいですか?

0 投票する
2 に答える
200 参照

scala - スペックテストフレームワークを使用してMatcher[A]からMatcher[Iterable[A]]を作成する方法

Matcher [A]がある場合、Iterableの各要素が元のMatcherを満たしている場合にのみ満たされるMatcher[Iterable[A]]を作成するにはどうすればよいですか。

0 投票する
4 に答える
1991 参照

java - Java 分割が期待どおりに機能しない

次の文字列を分割するために単純な分割を使用しようとしています: 00-00000

私の表現は次のとおりです。^([0-9][0-9])(-)([0-9])([0-9])([0-9])([0-9])([0-9])

そして、私の使用法は次のとおりです。

Pattern クラスと Matcher クラスをいじってみると、パターンが一致することがわかり、マッチャーは groupCount が 7 であると教えてくれますが、これは正しいことです。しかし、それらを分割しようとすると、うまくいきません。

0 投票する
2 に答える
131 参照

java - 一致するものが見つかりましたが、データを抽出するにはどうすればよいですか?

(abc|def)( ?(\\d+|(?:(?!\\1)[a-z])+)?)*私は完全に主題に一致する次の正規表現を持っていますabc123 456
ここで、すべてのパーツabc123、および456を取得します。

私は次のコードを使用します:

しかし、私はしか得られませんabc123 456

どんなアイデアでも大歓迎です。

0 投票する
4 に答える
237 参照

java - Java正規表現の質問

<FONT FACE=\"Verdana\" SIZE=\"12\"> My Name is xyz </FONT>または一致する正規表現が欲しい

<LI><FONT FACE=\"Verdana\" SIZE=\"12\"> My Name is xyz </FONT></LI>そしてそれは貪欲であってはなりません

0 投票する
4 に答える
494 参照

java - java正規表現マッチング

次の2つの文字列に一致する正規表現は何ですか。

Hi<Dog>Hiそして<Dog>与えられたテキストで。

アップデート:

これに一致する正規表現は何ですか?

<FONT.*?<\/FONT>最初までのみ一致します</FONT>

0 投票する
1 に答える
475 参照

java - Java 6マッチャークラス

次のような文字列があります。

| の 5 回目と 6 回目のオカレンスの間にコンテンツを作成する必要があります。内容が「」の場合は空白にします。したがって、望ましい出力は

したがって、この正規表現パターンを使用して、マッチャー/パターンとマッチャー.replaceFirst() を使用しています。

| の 5 回目と 6 回目の "" だけが必要ですが、EMPTY にするために、プログラムは遭遇するすべての "" を EMPTY に置き換えます。

したがって、出力は次のようになります。

私が持っている正規表現パターンを変更する必要があるかどうかわかりませんか? または、最初の "" を変更すると、一致したパターンの "" 他の "" を変更しないで、TEST フラグメントの他の出現でそれを変更することをマッチャー クラスに伝える方法はありますか?

アップデート:

とった。非常に混乱して申し訳ありません。私は自分のレベルをできる限り正確/明確にするために最善を尽くします.

質問の言い換え:

パターンを使用して、Java パターンとマッチャー クラスを使用して文字列を検索したいと考えています。

文字列には、データが | で区切られた 2 行があります。\r\n\ で区切られた各行

簡単な例は次のとおりです。

テスト文字列の内容:

JUNK4以降の「」が欲しい| (行内の 5 番目と 6 番目の | の間のコンテンツ) は、上記の例では空/空白になります。その行の他の位置にある "" を変更したくありません。次の行でも同じことが起こる必要があります。

したがって、次の正規表現パターンを Java Matcher と組み合わせて使用​​しています。パターン クラスは次のとおりです。

しかし、各行のすべての "" を置き換えていますが、これは私の要件ではありません。

量指定子/POSIX {1} を試しましたが、TestStr の最初の "" の検索が制限されると思っていましたが、無駄でした。

{1} を使用した正規表現:

では、最初の "" までの文字列のフラグメントを取得するためにパターンに制限を加える方法。

0 投票する
6 に答える
3383 参照

java - パターンとマッチャーを使用した Java 正規表現

私の質問は、Java の正規表現、特に特定の検索パターンに対する複数の一致に関連しています。取得する必要があるすべての情報は 1 行にあり、IP アドレスにマップされるエイリアス (SA など) が含まれています。それぞれをコンマで区切ります。それぞれを抽出する必要があります。

私の正規表現は次のようになります。

これは機能しますが、この小さなコードを導入してからプログラムの速度が少し遅くなりましたが (< 1 秒)、違いに気付くには十分なため、完全には満足していません。

だから私の質問は、私はこれを正しい方法で行っていますか? while(match) ループを必要としない、より効率的またはおそらく軽量なソリューションはありますか? および/またはパターン/マッチャークラス?

0 投票する
2 に答える
15758 参照

java - パターン全体ではなくMatcherグループにappendReplacementを追加する方法は?

while(matcher.find())パターンのすべての一致をループするためにa を使用しています。matcher.group(3)見つかったパターンのインスタンスまたは一致ごとに、新しいテキストに置き換えたいと思います。このテキストはそれぞれ異なるためmatcher.appendReplacement()、元の文字列を新しい変更で再構築するために使用しています。ただし、appendReplacement()グループだけでなくパターン全体を置き換えます。

パターン全体ではなく、一致の 3 番目のグループのみを変更して、これを行うにはどうすればよいですか?

コード例を次に示します。

しかし、私はこのようなことをしたいと思います(明らかにこれはうまくいきません)。

パターン全体ではなく、特定のグループのみを置き換えるようなものです。

編集:正規表現の例を変更して、すべてのパターンがグループ化されているわけではないことを示しました。