【发布时间】:2017-06-23 17:33:32
【问题描述】:
在 NFA 中,很容易使所有以前的非最终状态接受以使其匹配给定语言的所有子字符串的语言。
在 Java 正则表达式引擎中, 有没有办法找出一个字符串是否是与给定正则表达式匹配的字符串的起始子字符串?
regexX = "any start of", regexA - 任何给定的正则表达式
“regexXregexA”结果表达式匹配匹配“regexA”的所有子字符串:
示例:
regexA = a*b
“a”匹配
"regexXa*b"
因为它是“ab”(和“aab”)的开头
编辑:
由于有些人还是看不懂,下面就这道题做一个程序测试:
import java.util.regex.*;
public class Test1 {
public static void main(String args[]){
String regex = "a*b";
System.out.println(
partialMatch(regex, "aaa");
);
}
public boolean partialMatch(String regex, String begining){
//return true if there is a string which matches the regex and
//startsWith(but not equal) begining, false otherwise
}
}
结果为真。
【问题讨论】:
-
您能解释一下您的问题吗?
-
您在寻找word boundary吗?
-
不,问题的文字中解释得很清楚。什么是正则表达式?
-
“非常清楚”是主观的恕我直言。至少还有一位用户不理解您的问题。
-
什么是 regexX?测试是否有第二部分的条件?并找到你的模式是否会存在?