【发布时间】:2013-07-06 08:36:44
【问题描述】:
我需要一些关于正则表达式的帮助。这点我很糟糕。
规则:
- 仅限字母 a 到 z 和空格
- 最少 2 个字母
- 最多 30 个字母
- 每个单词必须至少包含 2 个字母
- 只有每个单词的第一个字母可以为大写,但第一个字母必须始终为大写
我的尝试:
^[A-Z][a-z]{2,30}$
我在 PHP 中使用它。
【问题讨论】:
-
This should get you started. 但更重要的是:您在哪种语言/工具中使用此正则表达式?
-
前三个规则完全在正则表达式的能力范围内。但是,如果您尝试对所有四个规则使用单个正则表达式,第四条规则将是一个挑战。
-
@nickb 单独的第四个也不是问题,并且正交要求可以与前瞻如果风味提供它们相结合。因此,我对 OP 的问题
-
我并不经常被否决......显然,我误解了一些东西。你能澄清一下你的第四个要求是什么意思吗?
-
@pete 我的意思是“我的名字是鲍勃”会匹配,而“我的名字是鲍勃”不会