「Java」正規表現式(+)で直前の文字が1個以上を判定するサンプル
説明
「.+」は 1文字以上の任意の文字列
Javaコード
package com.arkgame.study; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SekiHoDemo { // 直前の文字が1個以上 public static final String regPt = "[0-9].+"; public static void main(String[] args) { String strA = "TestARK"; String strB = "45678"; // 大文字小文字無視 Pattern pt = Pattern.compile(regPt, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); if (testFunc(pt, strA) == true) { System.out.println("文字列A「" + strA + "」が正規表現「" + regPt + "」にマッチします。"); } else { System.out.println("文字列A「" + strA + "」が正規表現「" + regPt + "」にマッチしません"); } if (testFunc(pt, strB) == true) { System.out.println("文字列B「" + strB + "」が正規表現「" + regPt + "」にマッチします。"); } else { System.out.println("文字列B「" + strB + "」が正規表現「" + regPt + "」にマッチしません"); } } public static boolean testFunc(Pattern pattern, String target) { // 正規表現判定 Matcher mt = pattern.matcher(target); return mt.find(); } }
結果
文字列A「TestARK」が正規表現「[0-9].+」にマッチしません
文字列B「45678」が正規表現「[0-9].+」にマッチします。