标题可能令人困惑,但我会尝试用一些例子来解释。 这是我目前的表达方式。
^([A-ZÆØÅ][a-zæøå]+[\s-]{1}){2,20}$
我想要一个与这些匹配的表达式: 一般规则是,
- 每个单词都必须以大写字母开头
- 以下大写字母只能是小写字母
- 可以是最多一个 - 或者是彼此之后的空白
困难的部分, 在这些的每个组合中,我希望最后一行最多为20个字符
我想要一个与这些匹配的表达式:
April-Can Æøå
An-An-An An An-An
Aaaaabbbbbcccccddddd
Aaa
非匹配
andkas
Andfak-lkakad
AppleApple
Carrotcarrotcarrotcarrotcarrotcarrot
Banana- Banana
Apple-apple-apple-apple-apple banana banana apple carrot
答案 0 :(得分:4)
使用前瞻:
^(?=.{2,20}$)[A-ZÆØÅ][a-zæøå]+(?:[\s-][A-ZÆØÅ][a-zæøå]+)*$
其中:
(?=.{2,20}$)
确保你在tyhe字符串中有2到20个字符
然后你有一个单词以大写字母开头,后面跟一个空格或短划线和另一个单词。它可能有几个单词
答案 1 :(得分:1)