Java 如何正则化字符串长度为10、前三个字符的字母和剩余的数字

Java 如何正则化字符串长度为10、前三个字符的字母和剩余的数字,java,regex,Java,Regex,我试图创建一个正则表达式,以确定前三个字母是否为字符,其余字母是否为数字。单词的总长度为10。正则表达式如下所示(以最简单的形式): 剩下的取决于你想要实现什么。你有没有尝试过这样的方法: [a-zA-Z]{3}[0-9]{7} 您最终可以用Java中的元字符\d替换数字部分([0-9]): [a-zA-Z]{3}\d{7} 就个人而言,我不喜欢这个版本,因为我发现它没有前一个版本那么明确。 \w不会完全替换alpha部分,因为它对应于[a-zA-Z_0-9] 如果需要捕捉某个零件,请使用括号。

我试图创建一个正则表达式,以确定前三个字母是否为字符,其余字母是否为数字。单词的总长度为10。

正则表达式如下所示(以最简单的形式):


剩下的取决于你想要实现什么。

你有没有尝试过这样的方法:

[a-zA-Z]{3}[0-9]{7}

您最终可以用Java中的元字符
\d
替换数字部分(
[0-9]
):

[a-zA-Z]{3}\d{7}

就个人而言,我不喜欢这个版本,因为我发现它没有前一个版本那么明确。
\w
不会完全替换alpha部分,因为它对应于
[a-zA-Z_0-9]

如果需要捕捉某个零件,请使用括号。捕获前三个字母的示例:

([a-zA-Z]{3})[0-9]{7}


我建议您通过一个教程学习正则表达式的使用。这是一个功能强大的工具,大多数开发人员都应该知道。

我建议您查看以下页面:

或者键入“Java6”(或7)API


转到类java.util.String的方法比较,然后按照ling或直接转到类java.util.regex.Pattern

这也将匹配字符串
0123456789
\w
表示一个单词字符
[a-zA-Z_0-9]
@devnull您是对的不需要这些锚。您所说的“字符”是什么意思?只有信吗?或者,可能是字母和数字?或者任何非空白?我在谷歌上搜索Java正则表达式,然后来到这里。我的字符串长度是20,我需要前5个字符,但那又怎样?我可以用{5}替换{3}!汤纳粹,你为什么要结束这个问题??
[a-zA-Z]{3}[\d]{7}