私は次のような文字列を持っています:
「こんにちは、ピーターです。ソフトウェア エンジニアとして働いています。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)