none
Kann mir jemand folgendes Skript erklären? RRS feed

  • Frage

  • Hallo,

    ich bin online auf dieses Skript gestoßen, welches ich gerne verwenden würde nur in veränderter Form:

    [regex]::Replace((gc 'c:\test\*.txt' | out-string),'(?ism)^-{1,}(.*?)^-{1,}',"-"*80) | set-content 'C:\test\merged.txt'

    Ich habe gesehen was das Skript macht, aber ich verstehe folgenden Abschnitt nicht: 

    '(?ism)^-{1,}(.*?)^-{1,}',"-"*80)

    Kann mir den jemand erklären?

    Mfg

    ThunderbirdOP

    Dienstag, 15. Dezember 2015 15:31

Antworten

  • Hallo,

    wie David vor mir schon geschrieben hat, handelt es sich hier um ein RegEx-Replacement.

    Find:

    • (?ism)
      i = Groß- und Kleinschreibung ignorieren
      s = . (Punkt) wird als Zeilenumbruch interpretiert
      m = multi-line mode (Ist der Modifier m gesetzt, so gelten ^ und $ nur für jede einzelne Zeile.)
    • ^-{1,}(.*?)
      ^-{1,} = am Anfang ein oder mehrere - (minus)
      (.*?) = diverse Anzahl von irgendwelchen Zeichen
    • ^-{1,} = am Anfang ein oder mehrere - (minus)

    Replace:

    • "-"*80 = 80 - (minus) hintereinander

    Sieh dir mal die Links die dir David gepostet hat an!

    MFG


    Mittwoch, 16. Dezember 2015 13:56

Alle Antworten

  • Hallo,

    dann nutze mal eine Suchmaschine deiner Wahl und suche nach "Regulaeren Ausdruecken" oder "Regular-Expressions", dort wirst Du sogar Seiten finden, wo du den Teil den du nicht verstehst live testen kannst.

    Beste Gruesse
    brima

    Click



    • Bearbeitet brima Mittwoch, 16. Dezember 2015 08:43
    Mittwoch, 16. Dezember 2015 08:42
  • Hi Thunderbird,

    es wird ein Regex-Replacement durchgeführt: Link

    Und hier ein paar Cheat Sheets: Link1 Link2

    Liebe Grüße


    Best regards,

    David das Neves
    Technology Specialist - Consulting Services



    Please vote as helpful and mark as answer if a post helped you.
    This posting is provided "AS IS" with no warranties, and confers no rights.

    Mittwoch, 16. Dezember 2015 08:55
  • Hallo,

    wie David vor mir schon geschrieben hat, handelt es sich hier um ein RegEx-Replacement.

    Find:

    • (?ism)
      i = Groß- und Kleinschreibung ignorieren
      s = . (Punkt) wird als Zeilenumbruch interpretiert
      m = multi-line mode (Ist der Modifier m gesetzt, so gelten ^ und $ nur für jede einzelne Zeile.)
    • ^-{1,}(.*?)
      ^-{1,} = am Anfang ein oder mehrere - (minus)
      (.*?) = diverse Anzahl von irgendwelchen Zeichen
    • ^-{1,} = am Anfang ein oder mehrere - (minus)

    Replace:

    • "-"*80 = 80 - (minus) hintereinander

    Sieh dir mal die Links die dir David gepostet hat an!

    MFG


    Mittwoch, 16. Dezember 2015 13:56