Android 检查部分文本是否与正则表达式匹配
我正在尝试构建一个类似于Google Play信用卡的组件,添加: 当用户开始键入信用卡号时,只有保持可见的信用卡图像是与部分信用卡号模式匹配的卡的图像 例如: 查看MasterCard正则表达式:^5[1-5][0-9]{14}$ 如果用户键入“5”、“53”、“531”,则主卡的图像应可见 我想它可以通过Pattern和Matcher类来实现,但是如何实现呢 使用Android 检查部分文本是否与正则表达式匹配,android,regex,Android,Regex,我正在尝试构建一个类似于Google Play信用卡的组件,添加: 当用户开始键入信用卡号时,只有保持可见的信用卡图像是与部分信用卡号模式匹配的卡的图像 例如: 查看MasterCard正则表达式:^5[1-5][0-9]{14}$ 如果用户键入“5”、“53”、“531”,则主卡的图像应可见 我想它可以通过Pattern和Matcher类来实现,但是如何实现呢 使用match()方法是不好的,因为它试图匹配所有模式 提前谢谢 如果您想要实时验证的模式,可以使用 ^5([1-5][0-9]{0
match()
方法是不好的,因为它试图匹配所有模式
提前谢谢 如果您想要实时验证的模式,可以使用
^5([1-5][0-9]{0,14})?$
看
注意:您不能将其用于最终字符串验证,您必须使用当前的正则表达式进行验证
用于实时输入验证的正则表达式的主要特点是,它只允许在前一个字符匹配的情况下使用下一个字符,这在嵌套可选组中是可能的。由于您只有3个部分:1)第一个必须的5
,然后是1
到5
数字,然后是任何0到14个数字,您可以在[1-5][0-9]{0,14}
模式周围使用一个可选组,并确保允许零或最多14个其他数字
详情:
-字符串的开头^
-强制性5
5
-可选序列(1或0次出现):([1-5][0-9]{0,14})
-从[1-5]
到1
5
-任何零到四位数[0-9]{0,14}
-字符串结束$
^5([1-5][0-9]{0,14})?$
看
注意:您不能将其用于最终字符串验证,您必须使用当前的正则表达式进行验证
用于实时输入验证的正则表达式的主要特点是,它只允许在前一个字符匹配的情况下使用下一个字符,这在嵌套可选组中是可能的。由于您只有3个部分:1)第一个必须的5
,然后是1
到5
数字,然后是任何0到14个数字,您可以在[1-5][0-9]{0,14}
模式周围使用一个可选组,并确保允许零或最多14个其他数字
详情:
-字符串的开头^
-强制性5
5
-可选序列(1或0次出现):([1-5][0-9]{0,14})
-从[1-5]
到1
5
-任何零到四位数[0-9]{0,14}
-字符串结束$
^5[1-5][0-9]{0, 14}$
使用您的模式激活按钮
并将其用于图像
^5[1-5][0-9]{0, 14}$
尝试
^5([1-5][0-9]{0,14})$
尝试^5([1-5][0-9]{0,14})$
此^5[1-5][0-9]{0,14}$
将不允许5
,因为[1-5]
是强制性的。它还有一个格式错误的限制(限制/范围)量词。此^5[1-5][0-9]{0,14}$
将不允许5
,因为[1-5]
是必需的。它还有一个格式错误的限制(界限/范围)量词。