首页 > 解决方案 > 如何使用正则表达式选择字符串格式化程序值

问题描述

有一个带有格式化程序的字符串:

Today is %s with degree %d℉.

如何通过在 java 中使用正则表达式来选择 %s 值和 %d 值?

例如:

Input: Today is Sunday with degree 70℉
Output: Sunday, 70

标签: javaregex

解决方案


这是一个Java示例

import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "Today is (\\w+) with degree (\\d+)℉";
final String string = "Today is Sunday with degree 70℉";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.UNICODE_CHARACTER_CLASS);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}

推荐阅读