我需要一个至少包含一个大写且不包含任何下划线的正则表达式,我目前的尝试是:
[self.searchBar setPlaceholderColor:[UIColor lightTextColor] setPlaceholderFont:[UIFont italicSystemFontOfSize:13]];
[self.searchBar setTextColor:[UIColor whiteColor] setTextFont:[UIFont systemFontOfSize:16]];
我尝试了类似(?=.*[A-Z_])
的字符串,因为该字符串包含example-chocolate-easter-egg-170g_349-85428671-ACCESSIBLEEASTEREGG
和至少一个大写字母,因此应该为false。但是我上面的正则表达式仍然为true ...应该是错误的...
理想情况下,_
是正确的,因为它不包含example-chocolate-easter-egg-170g349-85428671-ACCESSIBLEEASTEREGG
,至少包含一个大写字母。
,这个也应该是假的,因为它没有大写字母:_
有什么建议吗?正则表达式代码示例将非常有帮助 谢谢
答案 0 :(得分:2)
使用
^(?=.*[A-Z])(?!.*_).+
请参见proof。
匹配一个包含大写字符-(?=.*[A-Z])
,不包含下划线-(?!.*_)
,也不为空-.+
的字符串。删除.+
或使用.*
支持空输入。