regex - 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?
解决方案
我建议使用
^(?:[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Ö '-]*$
推荐阅读
- python - 有没有更好的方法来定义这个布尔变量?
- python - 为什么“a in b == c”等于“(a in b) and (b == c)”
- java - 来自 Google Drive Android Studio API 的图像被旋转
- sql - 如何从数据库表的最后 7 天中选择数据?
- elasticsearch - 尽管有权限,但 ElasticSearch 没有 [indices:data/read/msearch] 的权限
- opengl - 投影矩阵后的同质剪辑空间如何
- python - Python中的多态性通过抽象
- c++ - 没有重载函数的实例与指定的类型匹配 (C++)
- html - R中的webscraper中的页码功能错误
- docker - 构建 Docker 镜像