Ich sah einen regulären Ausdruck, um eine URL zu entsprechen: /^\/users?(?:\/(\d+)(?:\.\.(\d+))?)?/
. Ich bin verwirrt durch die Verwendung von ?:
am Anfang jedes Gruppenspiels.Was bedeutet `?:` In regulärem Ausdruck
Was bedeutet das?
Ich sah einen regulären Ausdruck, um eine URL zu entsprechen: /^\/users?(?:\/(\d+)(?:\.\.(\d+))?)?/
. Ich bin verwirrt durch die Verwendung von ?:
am Anfang jedes Gruppenspiels.Was bedeutet `?:` In regulärem Ausdruck
Was bedeutet das?
(?:)
(die ()
Teil des Ausdrucks sind) ist eine nicht-einfangende Gruppe.
Ich wollte gerade diese Frage stellen und fand diesen Beitrag als Vorschlag. Groß.. – Samiron
Es handelt sich um eine nicht erfassende Gruppe. Wenn eine Übereinstimmung gefunden wird, wird diese bestimmte Gruppe nicht erfasst.
Lesen durch: http://docs.python.org/library/re.html
(? ...)
Eine Nicht-Erfassung Version von regulären Klammern. Entspricht dem regulären Ausdruck, der in den Klammern enthalten ist. Der von der Gruppe übereinstimmende Teilstring kann jedoch nicht abgerufen werden, nachdem eine Übereinstimmung gefunden oder später im Muster referenziert wurde.
Welche Regex-Bibliothek verwenden Sie? – svick
svick: Ist das wirklich wichtig? Offensichtlich ein Perl-kompatibler. (Diese Syntax wurde in Perl 5 eingeführt.) – tripleee
@svick: Es ist eine sehr weit verbreitete Erweiterung der POSIX-Spezifikation. –