Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的正则表达式不起作用_Java_Regex - Fatal编程技术网

Java 我的正则表达式不起作用

Java 我的正则表达式不起作用,java,regex,Java,Regex,此代码未返回正确的结果: Pattern p=Pattern.compile("^[y]{1,4}$|^[m]{1,4}$|^[d]{1,4}$"); String text1="yyyy"; String text2="mmm"; Matcher m=p.matcher(text); boolean b=m.find(); System.out.println(String.valueOf(b)); m=p.matcher(text2); b=m.find(); System.out.p

此代码未返回正确的结果:

Pattern p=Pattern.compile("^[y]{1,4}$|^[m]{1,4}$|^[d]{1,4}$");

String text1="yyyy";
String text2="mmm";

Matcher m=p.matcher(text);
boolean b=m.find();
System.out.println(String.valueOf(b));

m=p.matcher(text2);
b=m.find();
System.out.println(String.valueOf(b));

System.out.println(String.valueOf(b))打印
false
我希望它返回
true
。有人知道代码有什么问题吗?

更简单的正则表达式可以是:

^(y{1,4}|m{1,4}|d{1,4})$
更新1:我也检查了你的正则表达式,它的语法是正确的,但可能Java正则表达式引擎不喜欢它

更新2:我甚至检查了你的Java代码,它对我有效,只有一个例外,第一部分是
text1
,而不是你键入的
text


它在我的JVM中为我打印出
true
,因此问题可能不在于您的正则表达式。

更简单的正则表达式可能是:

^(y{1,4}|m{1,4}|d{1,4})$
更新1:我也检查了你的正则表达式,它的语法是正确的,但可能Java正则表达式引擎不喜欢它

更新2:我甚至检查了你的Java代码,它对我有效,只有一个例外,第一部分是
text1
,而不是你键入的
text


它在我的JVM中为我打印出
true
,所以问题可能不在于你的正则表达式。

你使用的是哪种JVM?@KARASZI jdk1.6.0 update20我正在使用它应该在那一个上正常工作。你确定问题在这里吗?你能编译并运行这个示例代码并进行检查吗?很高兴也能看到导入。你使用的是什么类型的JVM?@KARASZI jdk1.6.0 update20我正在使用它。这应该在那一个上正常工作。你确定问题在这里吗?您能编译并运行这个示例代码并检查吗?如果能看到导入也会很好。