正则表达式([A-Za-z] *)匹配数字和特殊字符?

时间:2012-03-09 22:06:10

标签: java

我需要在我的应用程序中验证文本领域。这个cant既不包含数字也不包含特殊字符,所以我尝试了这个正则表达式: [A-ZA-Z] * 问题是当我在字符串的中间或末尾放置一个数字或一个特殊字符时,这个正则表达式不起作用。

4 个答案:

答案 0 :(得分:3)

您应该像这样使用它:

^[A-Za-z]+$

匹配仅包含ASCII字母的文本(长度为1或更长)。

答案 1 :(得分:2)

继续尝试^[A-Za-z]*$

答案 2 :(得分:1)

您可以使用以下正则表达式:

Pattern p = Pattern.compile("^[A-Za-z]*$");

查看http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

上的正则表达式列表

您描述的模式永远不会奏效。如果没有开始和结束绑定,模式将查找匹配的子字符串。由于还允许空字符串(星号表示0或更多字符),因此可以在任何地方使用空字符串。

答案 3 :(得分:0)

你检查帮我验证日期时间类型YYYY-MM-DDThh:mm:ss.sssZ或 YYYY-MM-DD

^(((19|20)[0-9][0-9])-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]))|(((19|20)[0-9][0-9])-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])T([01]?[0-9])|([2][0123]):([012345]?[0-9]):([012345]?[0-9])\.([0-9][0-9][0-9][Z]))$