首页 > 解决方案 > Reqex not starting with white space, only letters can contain white space

问题描述

I'm using this regex to check for only letters with posibility to containting white space or -.

^[a-öA-Ö- ']*$

But don't want to allow it to start with white space, can someone help me with this?

标签: regex

解决方案


我建议使用

^(?:[a-zöA-ZÖ'-][a-zöA-ZÖ '-]*)?$

注意主要区别:

  • a-ö并被A-Ö替换为a-zöandA-ZÖ相应地,因为a-öA-Ö创建了太大的范围,很可能不会做你想做的事,另请参阅Regex matching first capital letter after a or more small letters。如有必要Ö,在之后添加更多。ö
  • 空格从第一个字符类(匹配 1 个字符)中取出并添加到第二个字符类(匹配零个或多个字符)。

由于您的正则表达式匹配空字符串,因此整个消费模式都包含在(?:...)?可选的非捕获组中。如果您实际上不想匹配空字符串,请删除此包装:

^[a-zöA-ZÖ'-][a-zöA-ZÖ '-]*$

推荐阅读