正则表达式匹配“四个字符,后跟一个未知的数字位数”。

时间:2010-06-11 10:07:19

标签: java regex

字符串的外观示例:

TADE000177
TADE007,daFG
TADE0277 DFDFG

5 个答案:

答案 0 :(得分:6)

有点不清楚你想要什么。

如果你的意思是从A到Z的四个大写字母,然后是0-9中的至少一个数字,你可以试试这个:

"^[A-Z]{4}[0-9]+"
  • 如果您要使用除换行符之外的任何字符而不是大写字母,请将[A-Z]更改为.
  • 如果您还想允许零位数,请将+更改为*

答案 1 :(得分:2)

正好四个字符后跟一个或多个数字:[A-Z]{4}\d+

如果将其放在字符串文字中,请记住要使用反斜杠。

故障:

  • [A-Z]…:一个大写字母,相当于\p{Upper}
    • 要同时包含小写字母,您也可以使用[A-Za-z]\p{Alpha}
  • …{4}…正好4次
  • …\d…+数字
  • …+ 1次或更多次
    • 要允许0位数,您可以更改为*

答案 2 :(得分:0)

"^\w{4}\d*$"

这应匹配任意4个字符和任意数量的数字。但是,根据您的示例,数字后面可能会有字符。也许如果你给我们一个样本输入和一个样本输出,我们可能会提供更多帮助。

有关正则表达式的详细信息,请查看here

答案 3 :(得分:0)

如果我正确理解了您的要求,可以尝试:.{4}\d*

答案 4 :(得分:0)

^\w{4}.*$

匹配以4个字符开头的字符串,后跟任意数量的任何其他字符。 您的示例包括空格和标点符号,如果您确切知道允许哪些字符,则可能需要使用此模式。

^\w{4}[A-z\d<other known characters go here>]*$

请记住删除&lt;和&gt;也是:)