2.至少存在两个相同字母英文单词的验证
至少存在两个相同字母英文单词也具有重复特征,可以使用后向引用来验证该类型的英文单词。以下 正则表达式都能够至少存在两个相同字母英文单词。
/b[A-Z]*(?<char>[A-Z])[A-Z]*(/k<char>)+[A-Z]*/b (41)
/b[A-Z]*([A-Z])[A-Z]*(/1)+[A-Z]*/b (42)
正则表达式(41)解释:
/b匹配英文单词的边界,即英文单词的开始位置或结束位置。
[A-Z]*可以匹配空字符串,或者匹配最小长度为1的、由大写英文字母组成的字符串。
分组(?<char>[A-Z])将保存匹配内容,并命名为“char”。
/k<char>使用名称为“char”的分组,它匹配的内容和分组“char”的内容相同。
(/k<char>)+将分组“char”的内容至少重复1次。
正则表达式(42)解释:
/b匹配英文单词的边界,即英文单词的开始位置或结束位置。
[A-Z]*可以匹配空字符串,或者匹配最小长度为1的、由大写英文字母组成的字符串。
分组([A-Z])将保存匹配内容,并使用默认名称“/1”。
/1使用名称为“/ 1 ” 的分组,它匹配的内容和分组“/ 1 ” 的内容相同。
(/1>)+将分组“/ 1 ” 的内容至少重复1次。
使用工具Regex Tester分别测试正则表达式正则表达式(41)和正则表达式(42),结果分别如图(41)和(42)所示。