java - 如何使用正则表达式选择字符串格式化程序值
问题描述
有一个带有格式化程序的字符串:
Today is %s with degree %d℉.
如何通过在 java 中使用正则表达式来选择 %s 值和 %d 值?
例如:
Input: Today is Sunday with degree 70℉
Output: Sunday, 70
解决方案
这是一个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));
}
}
推荐阅读
- javascript - 带有本地对象数组的 Javascript 街道地址验证工具
- r - ggplot2:单杠
- mysql - 是否可以通过使用触发器来创建最小 varchar 长度?
- javascript - 如何将特定名称映射到 JavaScript/jQuery 中的 ID?
- python-requests - Instagram 用 429 阻止了我的请求
- google-sheets - 谷歌表单 - “转到部分”冲突
- amazon-web-services - 使用静态 IP 将 HTTP 请求转发到外部服务器 - AWS
- c++ - 我是否理解了声明、定义和初始化的概念?
- python - 从 python 运行 MATLAB 脚本
- c++ - 如何从c ++中的另一个文件夹中读取文件