如何在android中制作字符串模式

时间:2015-09-03 06:20:04

标签: java android regex

我想制作自己的模式匹配器。

我想只允许这样的字符TN 08 AB 2233。我怎样才能为此制作模式?

我尝试过如下,但它会删除我在编辑文本中键入的所有字符

^[A-Z]{1,2}[0-9]{4,5}[A-Z]{7,8}[0-9]{10,13}$

感谢。

2 个答案:

答案 0 :(得分:0)

试试这个,

 ^[A-Z]{2}[ -][0-9]{1,2}(?: [A-Z])?(?: [A-Z]*)? [0-9]{4}$

希望这对你有用。

答案 1 :(得分:0)

您正在寻找的是^[A-Z]{2}\\s\\d{2}\\s[A-Z]{2}\\s\\d{4}$

为了解释,大括号中的值不是idices,而是值的数量。

所以,[A-Z]{1,2}表示A-Z之间的值至少为ond且最多为两次。 [0-9]{4,5}表示0到9之间至少4和最多5次之间的值。 如果它们是强制性的,你也会错过正则表达式中的空格。 \s定义任何空格,第二个\是为了逃避另一个\。 如果不是强制性的,您可以?忽略它们^[A-Z]{2}(\\s)?\\d{2}(\\s)?[A-Z]{2}(\\s)?\\d{4}$。所以他们可以在那里,但不一定是。