Java 名称的正则表达式
我需要为具有以下模式的名称构建一个正则表达式,所以 约翰·D.E.将通过正则表达式测试。 基本上我想要的是:Java 名称的正则表达式,java,regex,string,Java,Regex,String,我需要为具有以下模式的名称构建一个正则表达式,所以 约翰·D.E.将通过正则表达式测试。 基本上我想要的是: N字符数(a-zA-Z)优先 那么只有一个空间 正好一个字符(a-zA-Z) 正好一个点 正好一个字符(a-zA-Z) 正好一个点 我写了这个正则表达式^([a-zA-Z]*)+({1})+([a-zA-Z]{1})+(\.)+([a-zA-Z]{1})+(\.),但它似乎工作不正常(例如,表达式仍然允许n个空格)。我如何限制它{1}不起作用。试试这个: ^([a-zA-Z])+([ ]
^([a-zA-Z]*)+({1})+([a-zA-Z]{1})+(\.)+([a-zA-Z]{1})+(\.)
,但它似乎工作不正常(例如,表达式仍然允许n个空格)。我如何限制它<代码>{1}不起作用。试试这个:
^([a-zA-Z])+([ ]{1})([a-zA-Z]{1})([.])([a-zA-Z]{1})([.])
我把空格和点带进了课堂([]
)。如果你不这样做点,那么它意味着任何字符。Alo加号是多余的,它们意味着不止一个字符
附言:@f1sh正确地注意到,拥有{1}
不会改变任何东西,因此较短的形式是:
^([a-zA-Z])+([ ])([a-zA-Z])([.])([a-zA-Z])([.])
试试这个:
^([a-zA-Z])+([ ]{1})([a-zA-Z]{1})([.])([a-zA-Z]{1})([.])
我把空格和点带进了课堂([]
)。如果你不这样做点,那么它意味着任何字符。Alo加号是多余的,它们意味着不止一个字符
附言:@f1sh正确地注意到,拥有{1}
不会改变任何东西,因此较短的形式是:
^([a-zA-Z])+([ ])([a-zA-Z])([.])([a-zA-Z])([.])
看看
+
做了什么,然后重新评估您的正则表达式中真正需要它的部分。另外,
是一个元字符,需要进行转义。另外,{1}
什么也不做,因为默认值是一次出现,然后后跟+
??e、 g.“
正好是一个空格,”[a-zA-Z]“
正好是一个空格,后跟一个字母看看+
的作用,然后重新评估您的正则表达式中真正需要它的部分。另外,
是一个元字符,需要进行转义。另外,{1}
什么也不做,因为默认值是一次出现,然后后跟+
??e、 g.“
正好是一个空格,”[a-zA-Z]“
正好是一个空格后跟一个空格letter@f1sh你是对的,我在点击“回答”时注意到:)更正现在它是正确的:)即使使用{1}
是多余的,可以删除。你是按字符付费的吗<代码>([])为什么只从“空格”中选择一个字母作为捕获组?为什么([。])
而不仅仅是\\.
?@f1sh再次表示同意,添加了您的建议;)或者稍微短一点,^[a-zA-Z]+([a-zA-Z]\){2}
@f1sh你是对的,我在点击“回答”时注意到了:)更正现在它是正确的:)即使使用{1}
是多余的,可以删除。你是按字符付费的吗<代码>([])为什么只从“空格”中选择一个字母作为捕获组?为什么([。])
而不仅仅是\\.
?@f1sh再次表示同意,添加了您的建议;)或者稍微短一点{code>^[a-zA-Z]+([a-zA-Z]\.){2}