带有 ^ 符号的 Java 正则表达式 : find from position

标签 java regex

我试图在字符串中查找 ^a{3} 模式,但不是从头开始。从位置2开始

例如:

Pattern pattern = Pattern.compile("^a{3}");
Matcher m = pattern.matcher("xxaaa");
System.out.println(m.find(2));

看来 ^ 表示字符串的开头(不是从位置 2 开始的字符串)

但是如何从位置 2 查找模式并确保 a{3} 从此位置开始

最佳答案

您可以将匹配器中的区域更改为从 2 开始,而无需弄乱原始正则表达式。见下文:

Pattern pattern = Pattern.compile("^a{3}");
Matcher m = pattern.matcher("xxaaa");
m.region(2, m.regionEnd()); // <---- region start is now 2

System.out.println(m.find());
System.out.println(m.lookingAt());

参见:https://docs.oracle.com/javase/9/docs/api/java/util/regex/Matcher.html#region-int-int-

关于带有 ^ 符号的 Java 正则表达式 : find from position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48931853/

相关文章:

java - 使用 myeclipse 和 jboss 服务器运行 jsf 应用程序

c# - 这个正则表达式如何找到三角形数?

javascript - 检查值是否相同(不区分大小写)

java - Android使用本地CSS显示html字符串

java - Spring数据neo4j 4日期无法转换

java - 验证字符串输入的一部分以确保为某些索引输入字母或数字

javascript - 用于数字验证的正则表达式

javascript - 注册按钮 HTML CSS JavaScript

Java:从 URL 获取整数值

java - if block 中的逻辑有缺陷