Heim > Artikel > Backend-Entwicklung > Können Sie mit Regex vertikale Linien aus drei „X“ in einem ASCII-Bild finden?
In einem ASCII-Bild wie:
....X....... ..X..X...X.... X.X...X..X..... X....XXXXXX..... X..XXX........... .....X.......... ..............X ..X...........X.... ..X...........X....X... ....X.....
wir' Ich möchte eine einfache vertikale Linienformation aus drei PHP, Perl, .NET oder ähnliche reguläre Ausdrücke können wir den folgenden Ausdruck verwenden:
Frage 2: Zählen solcher Formationen(?xm) # ignore comments and whitespace, ^ matches beginning of line ^ # beginning of line (?: . # any character except \n (?= # lookahead .*+\n # go to next line ( ?+ . ) # add a character to the 1st capturing group .*+\n # next line ( ?+ . ) # add a character to the 2nd capturing group ) )*? # repeat as few times as needed X .*+\n # X on the first line and advance to next line ?+ # if 1st capturing group is defined, use it, consuming exactly the same number of characters as on the first line X .*+\n # X on the 2nd line and advance to next line ?+ # if 2st capturing group is defined, use it, consuming exactly the same number of characters as on the first line X # X on the 3rd lineEinfaches MatchingFür Da es sich um eine direkte Übereinstimmung handelt und die Anzahl der Übereinstimmungen erforderlich ist, kann diese Frage aufgrund der begrenzten Lookbehind-Unterstützung nicht direkt in PCRE oder Perl gelöst werden.
Längen-/indirekte Lösung
Das obige ist der detaillierte Inhalt vonKönnen Sie mit Regex vertikale Linien aus drei „X“ in einem ASCII-Bild finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!