1

私は次のような文字列を持っています:

「こんにちは、ピーターです。ソフトウェア エンジニアとして働いています。Java は知っていますが、正規表現は初めてです」。

「Peter to new」からすべての文字を抽出したい。

gskinner.com/RegExr/ から、このパターンが機能することがわかります - (?<=Hey)([^\n]*)(?=Reg)

しかし、Java では機能しません。誰でも助けてもらえますか?Java で何を行う必要がありますか?

私のコードは次のようになります。

    Pattern p = Pattern.compile("(?<=Hey)([^\n]*)(?=Reg)");
    Matcher m = p.matcher(p);
    m.find();
    System.out.println(m.group(0));

実行すると、「一致が見つかりません」という例外が発生します。

スレッド「メイン」で例外 java.lang.IllegalStateException: No match found at java.util.regex.Matcher.group(Matcher.java:485)

4

3 に答える 3