Java 正则表达式 - 命名捕获组
JDK1.7支持正则表达式的命名捕获组JDK1.6不支持
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { /** * @param args */ public static void main(String[] args) { String pStr = "0x(?<bytes>\p{XDigit}{1,4})\s++u\+(?<char>\p{XDigit}{4})(?:\s++)?"; String INPUTTEXT = "0x12A4 u+56C8"; Matcher m = Pattern.compile(pStr).matcher(INPUTTEXT); if (m.matches()) { int bs = Integer.valueOf(m.group("bytes"), 16); int c = Integer.valueOf(m.group("char"), 16); System.out.printf("[%x] -> [%04x]%n", bs, c); } } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。