PHP / PostGres正则表达式只有在字符串中的单词有2个或更多大写字母时才匹配,并且只有字母

时间:2010-10-22 14:44:03

标签: php regex postgresql

这似乎是一个简单的表达方式,但我所有的修补都在一个地方或另一个地方失败了。我从PostgreSQL数据库中提取数据。我宁愿在PostgreSQL中过滤,但如果我需要在PHP中做到这一点也很好。该列将有一个字符串,我需要搜索匹配,其中任何单词(由空格定义)有两个或多个大写字母。如果我需要爆炸每个字符串并单独解析“单词”,我也可以这样做,但看起来像正则表达式会更好。

以下是一些示例:

“快速布朗”//无匹配

“QuicK Brown”// MATCH(注意QuicK有2个上限)

“快速布朗”//匹配

“QUICK1 Brown”//无匹配(QUICK全部为大写,但也有非alpha字符)

“QUICK BROWN1”//匹配,因为即使BROWN1不是QUICK也是命中。

“生日快乐”//无匹配

“QUICK-BROWN”//无匹配(因为 - 非alpha,单词仅由空格定义)

“快速的棕色”//没有匹配

1 个答案:

答案 0 :(得分:1)

(^| )[A-Za-z]*[A-Z][A-Za-z]*[A-Z][A-Za-z]*( |$)

通过http://regexr.com?2sdi4

检查