regex - 如何使正则表达式工作以查找以 A 开头的 7 个字母单词
问题描述
开发一个 Java 程序,该程序可以从文本文档中抓取以“A”开头且长度为 7 个字母的单词。我正在尝试在 Java 中使用正则表达式。
可能有人在这里给我一些指示如何做到这一点?
`Pattern sevenLetters = Pattern.compile("^\\w{A}{6}$");`
不幸的是,没有得到我的目标。
() 中的语法是什么?
谢谢
解决方案
也许,
\\bA[a-z]{6}\\b
可能只是工作正常。
测试
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegularExpression{
public static void main(String[] args){
final String regex = "\\bA[a-z]{6}\\b";
final String string = "Aabcdef Aabcdefg Aabcde Aabcdef \n"
+ "Aabcdef Aabcdefg Aabcde Aabcdef ";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
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));
}
}
}
}
如果您想简化/修改/探索表达式,它已在regex101.com的右上角面板中进行了说明。如果您愿意,您还可以在此链接中观看它如何与一些示例输入匹配。
正则表达式电路
jex.im可视化正则表达式:
推荐阅读
- css - 覆盖浏览器强制自动填充背景颜色 - 跨浏览器?
- reporting-services - 如何制作静态表格
- ruby-on-rails - VueJS 与多页 Rails 6 应用程序与 Turbolinks - 布局
- java - Android Studio:SQLite 某种形式的测验。在 logcat 中出现错误
- python - Discord 机器人 Python API guild.members
- android - Android Studio Emulator 被杀
- javascript - 如何使用节点刷新 JWT 令牌并做出反应
- kubernetes - Kubernetes 中的示例容器化应用程序无法在 Prometheus 中显示为用于抓取指标的目标
- excel - Excel VBA更新范围内的单元格
- reactjs - 使用反应钩子更新 setState