Suchen Sie mit Perls RegEx nach einer Permutation eines Satzes

SeSodesa

Ich muss einen Weg finden, um die Existenz von Mengen des Typs zu überprüfen {1,2,3,4,5,6,8,9,10}, die eine voreingestellte Anzahl von Elementen haben. Beachten Sie auch die fehlenden 7. Offensichtlich können die Zahlen in beliebiger Reihenfolge sein und sollten nur einmal erscheinen, da gemäß Definition {1,2,3} = {3,2,1} = {1,2,3,3} = ...und so weiter.

Wie könnte ich das mit Perl machen (oder ist es überhaupt möglich)? Eine Sache, die ich versucht habe, war {([1-6],|[8-9],|10,){8}([1-6]|[8-9]|10)} hier , aber dies kümmert sich nicht um die mehreren Instanzen derselben Nummer in den Klammern.

user557597

Dieser Regex macht das.
Hier werden 10 Slots zugewiesen, aber Sie können so viele hinzufügen, wie Sie möchten (hundert?).

Dies bedeutet nicht, dass Sie 10 eindeutige Zahlen in einem Satz abgleichen müssen.
Sie können mit weniger als oder gleich 10 (Beispiel {5})
oder sogar einem Bereich wie übereinstimmen{3,7}

Die Slots werden nacheinander ab 1 gefüllt.
Sie müssen also nur in einer Schleife von 1 - N sitzen und sehen, ob sie definiert ist.

Wenn Sie Geschwindigkeit suchen, ist dies der Dämon, den Sie wollen!

/\{(?>(?>(?(1)(?!))((?&GetNum))|(?(2)(?!))((?&GetNum))|(?(3)(?!))((?&GetNum))|(?(4)(?!))((?&GetNum))|(?(5)(?!))((?&GetNum))|(?(6)(?!))((?&GetNum))|(?(7)(?!))((?&GetNum))|(?(8)(?!))((?&GetNum))|(?(9)(?!))((?&GetNum))|(?(10)(?!))((?&GetNum)))(?:,(?!\})|(?=\}))){3,7}\}(?(DEFINE)(?<GetNum>(?!(?:\g{1}|\g{2}|\g{3}|\g{4}|\g{5}|\g{6}|\g{7}|\g{8}|\g{9}|\g{10})\b)\d+))/

https://regex101.com/r/pPwPTe/1

Lesbarer regulärer Ausdruck

 # Unique numbers in set, 10 slots
 \{
 (?>                    # Atomic, no backtracking allowed
      (?>               # ditto
            (?(1) (?!) )  ( (?&GetNum) )        # (1),  Slot 1
          | (?(2) (?!) )  ( (?&GetNum) )        # (2),  Slot 2
          | (?(3) (?!) )  ( (?&GetNum) )        # (3),  Slot 3
          | (?(4) (?!) )  ( (?&GetNum) )        # (4),  Slot 4
          | (?(5) (?!) )  ( (?&GetNum) )        # (5),  Slot 5
          | (?(6) (?!) )  ( (?&GetNum) )        # (6),  Slot 6
          | (?(7) (?!) )  ( (?&GetNum) )        # (7),  Slot 7
          | (?(8) (?!) )  ( (?&GetNum) )        # (8),  Slot 8
          | (?(9) (?!) )  ( (?&GetNum) )        # (9),  Slot 9
          | (?(10) (?!) ) ( (?&GetNum) )        # (10), Slot 10
      )
      (?: , (?! \} ) | (?= \} ) )
 ){3,7}                   # Set range, example: 3 to 7 unique numbers in set
 \}

 (?(DEFINE)
      (?<GetNum>       # (4) Get a new number, must not be seen before
           (?! (?: \g{1}|\g{2}|\g{3}|\g{4}|\g{5}|\g{6}|\g{7}|\g{8}|\g{9}|\g{10} ) \b )       
           \d+
      )
 )

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Suchen Sie nach Zeichen eines Satzes mit einem führenden ODER nachgestellten Leerzeichen

Suchen Sie mit Ansible Regex nach einer Zeichenfolge in einer Datei

Suchen Sie mit Regex C # nach einigen Phrasen in einer Textdatei

Suchen Sie mit Regex in Java nach Sonderzeichen in einer Zeichenfolge

Suchen Sie mit Regex nach einer bestimmten Zeichenfolge in der URL

Suchen Sie mit Regex nach Unterwörtern in einer Zeichenfolge

Suchen Sie nach einer Zeichenfolge mit Javascript / Regex

Extrahieren Sie die Namen eines Satzes mit Regex

So suchen Sie mit Regex nach einer Zeichenfolge, die nicht mit einer anderen Zeichenfolge beginnt

Wie erstelle ich einen Suchfilter, mit dem Sie nur nach einem bestimmten Element innerhalb eines Satzes von Divs suchen können?

Suchen Sie mit RegEx nach Zahlen nach einem bestimmten Text in einer Zeichenfolge

Suchen Sie mit BufferedReaders nach einer Zeichenfolge?

Suchen Sie mit Regex nach einer Datei mit der genauen Erweiterung (und nichts, die folgt)

Suchen Sie Elemente innerhalb eines Arrays nach einer bestimmten Eigenschaft mit jxpath

So suchen Sie mit adsi . nach Mitgliedern einer Gruppe oder eines Objekts

Suchen Sie nach einem Wort an einer beliebigen Position eines Begriffs mit mehreren Wörtern

Suchen und ändern Sie mit einer Regex

Suchen Sie in Python mit Regex nach allen Vorkommen einer mehrzeiligen Zeichenfolge zwischen zwei definierten Tags

Drucken eines Satzes mit einer Funktion

Suchen Sie nach einer Formel, um zu Beginn jedes Satzes in einer einzelnen Zelle "Aufzählungszeichen" hinzuzufügen

Wie man den Rest eines Satzes nach zwei Wortgrenzen mit Python Regex erfasst (Beispiel angegeben)

Suchen Sie alle Vorkommen eines bestimmten Zeichens in einer Zeichenfolge in Klammern, die nach einer anderen Zeichenfolge selbst steht (REGEX).

Suchen Sie nach dem Beginn einer Zeichenfolge oder eines Zeichens

Suchen Sie mit Selen nach einer Zeichenfolge in einer dynamischen Tabelle

Suchen Sie nach einer Implementierung in einer Datei mit wahlfreiem Zugriff

So suchen Sie mit Qt nach einer Zeichenfolge in einer Textdatei

Suchen Sie mit Regex nach einem Dateinamen mit Zeitstempel

Suchen Sie nach Duplikaten in Objekten innerhalb eines Objekts mit Unterstrich

So entfernen Sie Wörter mit # oder $ am Ende eines zu entfernenden Satzes (Regex)

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv