概要
Javaで「先読みと後読みを使ったパターンの記述」の動作を確認してみました。
以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample15_1.java
import java.util.regex.*;
class JSample15_1{
public static void main(String[] args){
String regex = "smart(?=phone)";
Pattern p = Pattern.compile(regex);
String[] target = {"smart", "smartphone", "smartwatch"};
for (int i = 0; i < target.length ; i++){
Matcher m = p.matcher(target[i]);
System.out.print(target[i] + "は");
if (m.find()){
System.out.println("マッチしました");
System.out.println("マッチしたのは " + m.group() + " です");
}else{
System.out.println("マッチしませんでした");
}
}
}
}
以下のコマンドを実行しました。
$ javac JSample15_1.java
$ java JSample15_1
smartはマッチしませんでした
smartphoneはマッチしました
マッチしたのは smart です
smartwatchはマッチしませんでした
まとめ
何かの役に立てばと。