Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Powershell und REGEX

Mitglied: mayho33

mayho33 (Level 2) - Jetzt verbinden

01.07.2014, aktualisiert 13:17 Uhr, 1575 Aufrufe, 5 Kommentare, 1 Danke

Hi @ All!

Und schon wieder hänge ich mal fest. Diesmal ist es eine Verständnisfrage mit REGEX wo ich nicht wirklich weiter komme:

Ich soll eine 4 Lichtjahre lange HTML (16 Mb groß!!!) nach einer variablen ID durchsuchen welche im HTML eine Überschrift repräsentiert. Alles was zwischen dieser und der Folgenden ID angegeben ist enthält Hostnames die sich auf diese ID beziehen. "Natürlich" gibt es keinen festen Bezug (Wenn ID dann Hostname, usw.) sondern es ist tatsächlich die Reihung das ausschlaggebende.

Dieses Problem ist bereits gelöst! Wo es wirklich hakt ist folgendes:

Ich matche auf die ID mit regex. Syntax:

Eine Zeile in der HTML wo REGEX matcht wäre: <h2 xmlns="" class="classsection4" id="idp68088064">73570 (1101) - Oracle Java SE Multiple Vulnerabilities (April 2014 CPU)</h2>

01.
  
02.
$test = Get-Content -Path "meine.html" -force 
03.
 
04.
foreach ($item in $test) { 
05.
    if ($item -match '(id[a-z]([0-9]{8,10}))') { 
06.
        $item 
07.
08.
}
Nun will ich natürlich nicht die ganze Zeile, sondern nur das Matching ausgeben (in Folge in einer $Variable speichern und weiterverarbeiten) sprich: idp506922624. Irgendwie hakt's aber. Mein "HirnCompiler" schafft es nicht das Ergebnis umzudrehen, sprich: Speichere "nur" das Matching in der Variable

exemplarisch:

01.
$test = Get-Content -Path "meine.html" -force 
02.
 
03.
foreach ($item in $test) { 
04.
    if ($item -match '(id[a-z]([0-9]{8,10}))') { 
05.
        $result = (Nur das matching) 
06.
07.
08.
 

Gibt es da eventuell eine einfache Möglichkeit z.B. das matching zu "negieren" oder muss ich nun tatsächlich mit der Kirche um's Dorf rennen. Zum Testen verwende ich http://www.regexr.com/

bin für jeden Ansatz dankbar.

Grüße

Mayho

Mitglied: colinardo
LÖSUNG 01.07.2014, aktualisiert um 13:17 Uhr
Moin,
no problem
01.
$wert = [regex]::Match($test,'id="(id[a-z]\d{8,10})"').Groups[1].Value
Täglich Brot

Grüße Uwe
Bitte warten ..
Mitglied: mayho33
01.07.2014 um 13:17 Uhr
Sorry aber AHHHHHHHHRRRRRGHHHHHHHHHH!

Ich werd' wahnsinnig! Das flutscht wie ein geöltes Zäpfchen! Vielen, vielen Dank! Wieder mal!

lg

Mayho
Bitte warten ..
Mitglied: colinardo
01.07.2014, aktualisiert um 13:20 Uhr
als Alternative geht auch:
01.
if ($item -match 'id="(id[a-z]\d{8,10})"') { 
02.
        $result = $Matches[1] 
03.
}
mit der Globalen Variable $Matches die immer mit dem zuletzt ausgeführten Match gefüllt ist.

Grüße Uwe
Bitte warten ..
Mitglied: mayho33
01.07.2014 um 14:25 Uhr
Das ist ja noch viel schöner, aber wo kommen die $matches[1] her??
Bitte warten ..
Mitglied: colinardo
01.07.2014, aktualisiert um 14:51 Uhr
Zitat von mayho33:

Das ist ja noch viel schöner, aber wo kommen die $matches[1] her??

wie oben geschrieben wird die Variable automatisch von PS erstellt und gefüllt, wenn man einen Match-Vergleich durchgeführt hat.
Quasi magisch
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Regex anders
gelöst Frage von ukodusBatch & Shell1 Kommentar

Hi, kann es sein, dass die Regex-Implementierung anders ist, als gewohnt? Der Regex funktioniert nämlich auf regexr.com -> Was ...

Batch & Shell
RegEx Powershell
gelöst Frage von internet2107Batch & Shell6 Kommentare

Hallo. Aktuell werden bestimmte Dateien im Namen zerlegt. Nun sind noch neue Dateien hinzugekommen. Wir kann ich om RegEx ...

Batch & Shell
Powershell - Regex - An die Experten
gelöst Frage von internet2107Batch & Shell4 Kommentare

Frage an die absoluten Regex-Experten. In einem Ordner befinden sich Dateien, die eingelesen und zerlegt werden müssen. Eine Datei ...

Batch & Shell
Powershell Regex mag nicht
gelöst Frage von H41mSh1C0RBatch & Shell3 Kommentare

Hi@All, Ich habe mehrere Einträge "<text aaa>-b-cc1<1>" und "<aaa>-b-cc1<1>" "< >" kennzeichnen die variablen Anteile Jetzt bekomme ich auch ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 16 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 22 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...