0

我需要检查用户提供的字符串是否以abc开头并以de结尾,中间有 4 个字符,例如

"abc<4 characters>de".

我尝试使用模式("^abc.*(4)de$")

但是中间的4个字符失败了。图案有没有问题。

4

4 回答 4

3

要说您需要四个字符,您可以使用其中之一:

"^abc.{4}de$"
"^abc....de$"
于 2013-05-22T10:18:53.090 回答
2

()_{}

^abc.{4}de$

这意味着匹配的单词应该以abc开头并以de结尾,中间应该有 4 个字符。

一个更简单的解决方案是在和模式.之间放置一个来描述应该正好有四个字符:startend

^abc....de$
于 2013-05-22T10:18:48.837 回答
1

使用这个正则表达式:

^abc.{4}de$

.{4}正是它看起来的样子:任何字符 ( .) 正好 4 次。

于 2013-05-22T10:18:22.450 回答
1

将正则表达式修改为以下

Pattern p = Pattern.compile("^abc.{4}de$");
         Matcher m = p.matcher("abc11111de");
         boolean b = m.matches();
         System.out.println(b);
于 2013-05-22T10:26:28.640 回答