我需要检查用户提供的字符串是否以abc开头并以de结尾,中间有 4 个字符,例如
"abc<4 characters>de".
我尝试使用模式("^abc.*(4)de$")
但是中间的4个字符失败了。图案有没有问题。
要说您需要四个字符,您可以使用其中之一:
"^abc.{4}de$"
"^abc....de$"
用()
_{}
^abc.{4}de$
这意味着匹配的单词应该以abc开头并以de结尾,中间应该有 4 个字符。
一个更简单的解决方案是在和模式.
之间放置一个来描述应该正好有四个字符:start
end
^abc....de$
使用这个正则表达式:
^abc.{4}de$
.{4}
正是它看起来的样子:任何字符 ( .
) 正好 4 次。
将正则表达式修改为以下
Pattern p = Pattern.compile("^abc.{4}de$");
Matcher m = p.matcher("abc11111de");
boolean b = m.matches();
System.out.println(b);