Finde Wörter mit sich wiederholenden Zeichen

8

Such jedes Wort in einem Wörterbuch, das an der zweiten und letzten Stelle genau das gleiche Zeichen hat, und einmal irgendwo in der Mitte.

Beispiele:

%Vor%

falsch

%Vor%

mein grep funktioniert nicht

%Vor%

z.B. das

%Vor%

druckt beispielsweise das

%Vor%

was ist falsch.

Was sollte die richtige Regex sein?

BEARBEITEN:

Und wie kann ich die eingeschlossenen Gruppen erfassen? z.B. für das

%Vor%     
Nemo 02.06.2013, 00:15
quelle

4 Antworten

6
___ qstnhdr ___ Finde Wörter mit sich wiederholenden Zeichen ___ answer16878647 ___

Lookahead verwenden:

%Vor%

Bedeutung:

%Vor%     
___ qstntxt ___

Such jedes Wort in einem Wörterbuch, das an der zweiten und letzten Stelle genau das gleiche Zeichen hat, und einmal irgendwo in der Mitte.

Beispiele:

%Vor%

falsch

%Vor%

mein grep funktioniert nicht

%Vor%

z.B. das

%Vor%

druckt beispielsweise das

%Vor%

was ist falsch.

Was sollte die richtige Regex sein?

BEARBEITEN:

Und wie kann ich die eingeschlossenen Gruppen erfassen? z.B. für das

%Vor%     
___ answer16878689 ___
%Vor%     
___ tag123regex ___ Reguläre Ausdrücke stellen eine deklarative Sprache zur Verfügung, um Muster in Strings zu vergleichen. Sie werden häufig für die Überprüfung, Analyse und Umwandlung von Zeichenfolgen verwendet. Da reguläre Ausdrücke nicht vollständig standardisiert sind, sollten alle Fragen mit diesem Tag auch ein Tag enthalten, das die anwendbare Programmiersprache oder das entsprechende Werkzeug angibt. HINWEIS: Nach HTML-, JSON-, usw.-Regexen zu fragen, neigt zu negativen Reaktionen. Wenn es einen Parser dafür gibt, verwende stattdessen diesen. ___ tag123perl ___ Perl ist eine prozedurale, allgemeine Programmiersprache für allgemeine Zwecke, die für ihre native Unterstützung von regulären Ausdrücken und String-Parsing-Funktionen bekannt ist. Bitte verwenden Sie diesen Tag für Fragen zu Perl im Allgemeinen. Für Dinge, die mit der neuen (aber verwandten) Sprache "Perl 6" zu tun haben, verwenden Sie bitte das perl6-Tag. Verwenden Sie für reguläre Ausdrücke nach Perl-Art in anderen Sprachen das Regex-Tag oder, falls sie auf der PCRE-Bibliothek basieren, das PCRE-Tag. ___ answer 16878618 ___

Dies ist die Regex, die für Sie arbeiten sollte:

%Vor%

Live-Demo: Ссылка

    
___ answer16878677 ___

%code% ist %code% wie %code% ist %code% , also was Sie wollen ist:

%Vor%

So bekommen Sie:

%Vor%

Um zu erfassen, was dazwischen ist, fügen Sie um beide %code% herum.

%Vor%     
___
anubhava 02.06.2013, 00:27
quelle
13

(?:(?!STRING).)* ist STRING wie [^CHAR]* ist CHAR , also was Sie wollen ist:

%Vor%

So bekommen Sie:

%Vor%

Um zu erfassen, was dazwischen ist, fügen Sie um beide (?:(?!).)* herum.

%Vor%     
ikegami 02.06.2013 00:38
quelle
1

Lookahead verwenden:

%Vor%

Bedeutung:

%Vor%     
perreal 02.06.2013 00:33
quelle
1
%Vor%     
David 02.06.2013 00:41
quelle

Tags und Links