anu*_*ava 10

你可以使用这个带有2个反向引用的正则表达式来匹配交替的小写字母:

^([a-z])(?!\1)([a-z])(?:\1\2)*\1?$
Run Code Online (Sandbox Code Playgroud)

RegEx演示

RegEx分手:

  • ^:开始
  • ([a-z]):在捕获组#1中匹配第一个字母
  • (?!\1):Lookahead确保我们再次匹配相同的字母
  • ([a-z]):在捕获组#3中匹配第二个字母
  • (?:\1\2)*:匹配零个或多个第一和第二个字母对
  • \1?:在结束前匹配可选的第一个字母
  • $: 结束