2015-08-10 9 views

Odpowiedz

6

Służy rekurencyjne regex:

^(a(?:(?1)|b)c)$|^(b)$ 

Demo on regex101

regex może być dalej zmniejszona do:

^(a(?1)c|b)$ 

Demo on regex101

przemienności wchodzą:

  • przypadku bazowego b
  • rekurencyjne przypadku a(?1)c pasujący a, następnie przeszukanie w grupie 1, a następnie odpowiada c. Grupa 1 to sama alternacja, więc może zawierać więcej par a i c lub rekursja kończy się w przypadku podstawowym b.
+0

Świetne, dzięki! –

Powiązane problemy