Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Regular Expression - Datei nach bestimmten Suchkriterien verarbeiten

Frage Entwicklung Perl

Mitglied: kaisew

kaisew (Level 1) - Jetzt verbinden

10.11.2009 um 10:33 Uhr, 5400 Aufrufe, 3 Kommentare

Hallo Allerseits!
Da ich mit regulären Ausdrücken überhaupt nichts am Hut hab, aber mein Problem nur damit Lösen kann, bin ich auf Euer Forum gestossen.
Da ich auf meine Frage leider keine Antwort gefunde hab, hier nun mein Problem, bei dem Ihr mir sicher helfen könnt.
Besten Dank schon mal im Voraus!! Walter

Ich muss eine Textdatei sequentiell einlesen (hier einige Sätze davon) ...

AUS00001 0008820090930SK192114AG120JC DECKEL ATCHENBECHER 8708290000000000100STK 00000002961000000407JP
AUS00001 0008820090930SK689742B1020 SENDETEIL AT 8536508000000000100STK 00000003294000000012JP
EIN00001 0008820090930ATG1B023XG0 SELECT MONITOR III 0000000000000000100STK 00000114000000000000JP
EIN00001 0008820090930ATG1B120XZ0 SSM III PULSE / ANAL9031903000000000100STK 00000038592000000370JP
EIN00001 0008820090930ATG18332AA000 ™LFILTERSCHLšSSEL 8205590000000000100STK 00000002406000000080JP

Für mein Schnittstellenprogramm möchte ich aber in diesem Fall nur Sätze verarbeiten, welche auf Stelle 34-35 das Länderkennzeichen AT aufweisen.
Alle anderen Sätze sollen ignoriert werden.

Der Satzaufbau sieht so aus:
20 Alpha Rechnungsnummer
5 num Code
8 Datum Datum
2 Alpha Länderkennzeichen
.......
......
.....
...

Bin mir sicher, dass dies für einen, der mit regulären Ausdrücken arbeitet, ein Kinderspiel sein sollte - für mich leider nicht

Besten Dank, Walter

PS. Sollte mein Problem bereits in einem Thread angesprochen worden sien ... Sorry, dan hab ich's übersehen
Mitglied: dog
10.11.2009 um 10:37 Uhr
Könnte man sicher, aber weder ist in deinem Beispiel irgendwo an Stelle 34-35 ein AT, noch passt deine Beschreibung zum Beispiel
Bitte warten ..
Mitglied: kaisew
10.11.2009 um 10:51 Uhr
Danke für Deine rasche Antwort!
Doch , passt schon zusammen - nach der Rechnungsnummer (EIN001, AUS001) folgen 14 Leerstellen (die, warum auch immer, hier beim EInfügen untergegangen sind)
Walter

7b2f9a868d44a4c0871f30ccbee41a9c-snap - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: dog
10.11.2009 um 10:54 Uhr
(die, warum auch immer, hier beim EInfügen untergegangen sind)

Das ist ein "Feature" von HTML. Um die Leerstellen anzuzeigen musst du die code-Tags (siehe Hilfe) benutzen.
OK, also testweise:
01.
/^.{33}AT/
Die Regex trifft nur zu wenn an der 34. Stelle einer Zeile AT steht, ist aber recht allgemein gehalten, so dass sie alles frisst, auch wenn es nicht dem strikten Schema entspricht.

Grüße

Max
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren (3)

Frage von Peter32 zum Thema Batch & Shell ...

Windows Server
gelöst Windows 2012R2 kann Datei nicht löschen (2)

Frage von Akcent zum Thema Windows Server ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...