我需要一个正则表达式来排除不区分大小写的完全匹配(整个字符串)。如果整个字符串是“United States”(不区分大小写),那么我需要拒绝该字符串。如果只有部分字符串包含“United States”(不区分大小写),那就没问题了。
我还需要字符串的最小长度为 6 个字符,如果少于 6 个则需要拒绝该字符串。
由于单词之间的空格,我遇到了麻烦,因为我只需要排除该字符串的完全匹配而不是部分匹配。
这是针对 vBulletin 的,我只允许此表单使用单行正则表达式。
我需要一个正则表达式来排除不区分大小写的完全匹配(整个字符串)。如果整个字符串是“United States”(不区分大小写),那么我需要拒绝该字符串。如果只有部分字符串包含“United States”(不区分大小写),那就没问题了。
我还需要字符串的最小长度为 6 个字符,如果少于 6 个则需要拒绝该字符串。
由于单词之间的空格,我遇到了麻烦,因为我只需要排除该字符串的完全匹配而不是部分匹配。
这是针对 vBulletin 的,我只允许此表单使用单行正则表达式。
您的要求仍然有点模糊,但请尝试
^(?i)(?!United States$).{6,}$
^
锚定到字符串的开头
$
锚定到字符串的末尾
(?i)
内联选项,使正则表达式匹配不区分大小写
(?!United States$)
负前瞻,使整个表达式失败,如果字符串从头到尾只有“美国”
.{6,}
匹配 6 个或更多字符
为什么是正则表达式?
我会做(在 perl 中):
reject() if (uc($str) eq 'UNITED STATES' or length($str) < 6);