大写英文单词由26个大写英文字母(A~Z)组成,且英文单词的最小长度为1。以下正则表达式都能够验证大写英文单词。
[A-Z]+ (13)
[A-Z]{1,} (14)
上述两个正则表达式没有验证英文单词的边界。如果给定的字符串为“DEF|*(”,那么它将匹配字符串“DEF”。为了验证一个完整的英文单词,可以使用元字符/b指定英文单词的边界。以下正则表达式都能够验证大写英文单词,同时指定英文单词的边界。
/b[A-Z]+/b (15)
/b[A-Z]{1,}/b (16)
另外,除了元字符之外,还可以使用指定字符串边界的元字符^和$来指定英文单词的边界。以下正则表达式都能够验证大写英文单词,同时指定英文单词的边界。
^[A-Z]+$ (17)
^[A-Z]{1,}$ (18)
1.指定开头字母的英文单词
正则表达式[A-Z]+能够验证以任意字母开头的英文单词。然而,有时往往需要验证指定开头字母的英文单词。以下正则表达式都能够验证以字母J开头的大写英文单词。
/bJ[A-Z]*/b (19)
/bJ[A-Z]{0,}/b (20)
以下正则表达式都能够验证以字母C~H开头的大写英文单词。
/b[C-H][A-Z]*/b (21)
/b[C-H][A-Z]{0,}/b (22)
2.指定长度的英文单词
有时往往需要验证指定长度的英文单词。以下正则表达式都能够验证长度为6的大写英文单词。
/b[A-Z]{6}/b (23)
3.指定结尾的英文单词
除了验证上述指定开头字母的英文单词之外,有时还需要验证指定结尾的英文单词。如验证以“ED”结尾的英文单词。以下正则表达式都能够验证以“ED”结尾的大写英文单词。
/b[A-Z]+(?:ED)/b (24)
/b[A-Z]{1,}(?:ED)/b (25)
正则表达式(24)解释:
q /b匹配英文单词的边界,即英文单词的开始位置或结束位置。
q [A-Z]+匹配最小长度为1的、由大写英文字母组成的字符串。
q (?:ED)匹配字符串“ED”,并指定字符串“ED”在英文单词的结尾部分。
使用工具Regex Tester分别测试正则表达式(24)和(25),结果分别如图4.3和4.4所示。