我在java编程语言中遇到了一些RegEx问题。我不太确定我是否需要别的东西,但这是我的问题:
我想检查一个特定的字符串是否包含任何字母后跟任意4个数字。
我一直在修补它并且遇到了一些麻烦。任何指针都将不胜感激,谢谢。
答案 0 :(得分:3)
简单,匹配任何字母的character class,后跟任意数字repeated 4 times的字符类。
[a-zA-Z][0-9]{4}
仅供参考,我包含了3个链接,因为这些是您学习的好资源。这是一个非常简单的任务,如果你做一些阅读,你会比你想象的更快地学习正则表达式。
答案 1 :(得分:2)
根据您对特定字符串的定义,您可以使用与您的正则表达式匹配的String.matches()
函数与整个字符串或Matcher.find()
如果您要搜索对于字符串中的某个模式。
您可以使用以下正则表达式:
[a-zA-Z][0-9]{4}
正则表达式:
[a-zA-Z] any character of: 'a' to 'z', 'A' to 'Z'
[0-9]{4} any character of: '0' to '9' (4 times)
答案 2 :(得分:2)
您想要的正则表达式为\p{L}\d{4}
,因为\p{L}
是POSIX类,表示“letter”,\d
表示数字。这样做的好处是可以用英语以外的语言来捕捉字母,而[a-zA-Z]
则不会。有关详细信息,请参阅Pattern Javadoc。
要将此表达式编写为String
字面值,您可以使用"\\p{L}\\d{4}"
。要在String
中找到它,您可以使用matches
方法,并将.*
添加到开头和结尾,就像这样。
if (myString.matches(".*\\p{L}\\d{4}.*")) {
// Do something
}