【发布时间】:2017-09-06 11:52:31
【问题描述】:
是否可以通过正则表达式的一部分检查文本是否完全匹配?
我想匹配作为(可能)匹配文本前缀的文本。
因此,例如,我有以下正则表达式:
/etc/tomcat/conf/.*
我想匹配目录/etc/tomcat/conf/ 中的所有文件。我可以通过将完整的文件名与我的正则表达式匹配来做到这一点。但是我需要先进入那个目录,所以我想检查一下是否需要在第一行输入/etc和/etc/tomcat。
一般情况下可以实现吗?匹配文件的正则表达式将来自外部系统,所以我可能会得到一个正则表达式:
/et..tomcat/con.*
如果我正确理解正则表达式机器,那应该是可能的,因为/et..tomcat/ 将与/etc/tomcat/ 匹配,但匹配将是负数,因为在那一刻文本将和con.* 部分不会满意。我只需要访问内部信息,文本已被完全使用,但正则表达式没有......
Java 是否提供了检查方法?
【问题讨论】:
-
查看
Matcher的文档:docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html。hitEnd()方法可能就是你要找的。span> -
@VadimLanda 谢谢,我已经做了一个快速测试,这正是我所需要的
-
@LucasTrzesniewski 是的,这个问题的答案正是我所需要的。棘手的部分是,我没有寻找“部分映射”,因为我认为它只是整个正则表达式匹配文本的一部分,而不是相反的情况。