Ergebnis 1 bis 14 von 14

Thema: Regex, "das richtige in Zeile 3"

  1. #1
    Junior
    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1

    Regex, "das richtige in Zeile 3"

    Hallo, ich finde den Fehler nicht und bräuchte mal Hilfe!

    Code:
    Search for: ^.+\n.+\n.+\n
    Replace with:$0http://nitroflare.com/view/(.+?)+\.pdf\n
    Ausgabe: Murks...

    Code:
    Search for: ^.+\n.+\n.+\n
    Replace with: $0http?://pxhst\.co[^\s]+.jpg
    Ausgabe: Murks...
    PHP-Code:
    http://pxhst.co/aaaaaaa/a0/a0/00000aaa.jpg
    http://pxhst.co/aaaaaaa/a0/a0/00000aaa.png

    http://nitroflare.com/view/A0A0A0A0A0A0/aaaaaa_0000.rar
    http://nitroflare.com/view/A0A0A0A0A0A0/aaaaaa_0000.pdf 
    Ich komm da einfach nicht drauf woran es liegt, gebe ich es in der Suche ein findet er es gleich.
    Geändert von Nope (05.11.2016 um 13:41 Uhr)

  2. #2
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Wie wäre es mit einem sauberen Input, den du einliest und den von dir gewünschten Output. Noch besser mit fertigen Snippet vom IST-Stand.

  3. #3
    Junior
    THEMENSTARTER


    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1
    Wenn man das hin bekommt, sicher eine schöne Sache. Wie du siehst habe ich aber schon daran zu kämpfen^^

  4. #4
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    Du wirst doch wohl wissen, was du als Input eingibst und welchen fertigen Output du wünschst? Der Code den du anhängen sollst, soll dafür genutzt werden, um ihn direkt adaptieren zu können und darin die Fehler auszubessern.

  5. #5
    Junior
    THEMENSTARTER


    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1
    Nach dem auslesen sieht die txt so aus:
    Spoiler ausklappen
    PHP-Code:
    <subject>Diabetes Living Germany Oktober-November 2016</subject>

    <
    url>http://avxhome.se/magazines/DiabetesLivingGermanyOktoberNovember2016.html</url>

    <tags>DiabetesLivingGermanyOktoberNovember2016</tags>

    [
    img]https://www.szenebox.org/images/_imported/2016/11/30.jpg[/img]       Ã—
    [b]Diabetes Living Germany Oktober-November 2016[/b]
    [
    url=http://pxhst.co/avaxhome/60/51/00405160.jpg][img]https://www.szenebox.org/images/_imported/2016/11/31.jpg[/img][/url]    Wow! What a picture!

    [center]
    [
    b]Diabetes Living Germany Oktober-November 2016[/b]
    German 100 pages True PDF 30,5 MB
    [/center]
    [
    b]
    [
    center]
    [
    url=http://nitroflare.com/view/F791C72313AADE3/Diabetes_Living_Germany_-_Oktober-November_2016.pdf]Download from nitroflare.com[/url]
    [/center


    In diesen txt sollen 3 Zeilen ergänzt werden
    Spoiler ausklappen
    PHP-Code:
    ->NEW ENTRY<-
       
    chunks=0
    #a comment
       
    extractPasswords=["Password1","Password2"]
       
    enabled=true
       text
    =<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Hoster Link und Cover Link
       packageName
    =<<<<<<<<<<<<<<<<<<<<<<<<<< 1 Subject ohne Leerzeichen
       extractAfterDownload
    =true
       downloadFolder
    = <<<<<<<<<<<<<<<<<<<<<<<<<< 1 Subject ohne Leerzeichen
       priority
    =DEFAULT
       
    downloadPassword=null
    #use only if text contains one single link
    #filename=null
    #overwritePackagizerEnabled=false
    #comment=null
       
    autoStart=TRUE
    autoConfirm
    =true
    forcedStart
    =true
    #deepAnalyseEnabled=false
    #addOfflineLink=true 


    So soll sie aussehen
    Spoiler ausklappen
    PHP-Code:
    ->NEW ENTRY<-
       
    chunks=0
    #a comment
       
    extractPasswords=["Password1","Password2"]
       
    enabled=true
       text
    =http://nitroflare.com/view/F791C72313AADE3/Diabetes_Living_Germany_-_Oktober-November_2016.pdf  http://pxhst.co/avaxhome/60/51/00405160_medium.jpg
       
    packageName=Diabetes.Living.Germany.-.Oktober-November.2016
       extractAfterDownload
    =true
       downloadFolder
    =E:\pdf\Magazine_DE\Diabetes.Living.Germany.-.Oktober-November.2016
       priority
    =DEFAULT
       
    downloadPassword=null
    #use only if text contains one single link
    #filename=null
    #overwritePackagizerEnabled=false
    #comment=null
       
    autoStart=TRUE
    autoConfirm
    =true
    forcedStart
    =true
    #deepAnalyseEnabled=false
    #addOfflineLink=true 


    Erweiterungen für "myFile.crawljob" txt Datei wird umbenannt in .crawljob
    Spoiler ausklappen
    PHP-Code:
    #this is a property file format. You can put all these entries in a jsonarray [{..},{...}] as well.
    #save this as myFile.crawljob
    #Start a new entry with anything but a comment (#...) or key=. An empty line would be ok as well
    ->NEW ENTRY<-
       
    chunks=0
    #a comment
       
    extractPasswords=["Password1","Password2"]
       
    enabled=null
       text
    =http://www.hornoxe.com/kreuzfahrtschiff-wird-verlaengert-zeitraffer/
       
    packageName=MyPackageName
       autoStart
    =TRUE
       extractAfterDownload
    =UNSET
       
    downloadFolder=null
       priority
    =DEFAULT
       
    forcedStart=UNSET
       
    downloadPassword=null
    #use only if text contains one single link
       
    filename=null
       overwritePackagizerEnabled
    =false
       comment
    =null
       autoConfirm
    =UNSET
       
    deepAnalyseEnabled=false
       addOfflineLink
    =true

    ->NEW ENTRY<-
    #properties that are not required can be ignored. This is absolutly fine:
       
    text=http://www.hornoxe.com/katze-nimmt-die-post-entgegen/


    ### Available Fields:

    # priority Type: Priority
    # priority = null
    # comment Type: String
    # comment = null
    # enabled Type: BooleanStatus
    # enabled = null
    # text Type: String
    # text = null
    # type Type: JobType
    # type = NORMAL
    # chunks Type: int
    # chunks = 0
    # downloadPassword Type: String
    # downloadPassword = null
    # downloadFolder Type: String
    # downloadFolder = null
    # packageName Type: String
    # packageName = null
    # filename Type: String
    # filename = null
    # addOfflineLink Type: boolean
    # addOfflineLink = true
    # extractAfterDownload Type: BooleanStatus
    # extractAfterDownload = UNSET
    # extractPasswords Type: String[]
    # extractPasswords = null
    # overwritePackagizerEnabled Type: boolean
    # overwritePackagizerEnabled = true
    # deepAnalyseEnabled Type: boolean
    # deepAnalyseEnabled = false
    # autoStart Type: BooleanStatus
    # autoStart = UNSET
    # autoConfirm Type: BooleanStatus
    # autoConfirm = UNSET
    # forcedStart Type: BooleanStatus
    # forcedStart = UNSET 


    Der Idealfall wäre wenn eine weitere txt Datei erstellt wird
    Spoiler ausklappen
    PHP-Code:
    Diabetes Living Germany Oktober-November 2016
    German 
    100 pages True PDF 30,5 MB

    Tags
    DiabetesLivingGermanyOktoberNovember2016 


    Die gespeicherte Datei soll nach Abschluß des Downloads dem Download Ordner hinzugefügt werden mittels Script.
    Spoiler ausklappen
    PHP-Code:
    /*
        Event Script: writeInfoFile
     
                      Creates an Info-File into the DL-Folder with detailed information
                      
        Version: 0.21
     
     Requirements:
        Trigger "Package Finished"

     Tested:
         JD2 on Windows7-32bit Platform and jre8 (see path-creation code at the end of this script) 
     */


    //---------- Global declarations -----------------
    var bWriteFile false//pessimistic approach: no file-writing at start, if situation ok, then set it "true"
    var sInfoFilePath ""//the target file, if already available, then APPENDING, else creation
    var sText ""//will be filled with content (or not :-)
    var sInfoFileType ".info" //set path creation at the end of the script
    var iContent 0//setting bit 1 if pwd is available, setting bit 2 if comments available //if not set, no info file
    var myPackage package;
    var 
    aParts myPackage.getDownloadLinks();
    var 
    aArchives package.getArchives();






    //---------- ANALYZING SITUATION ----------
    if (myPackage.isFinished() == true) {
        
    //no further analysis due to Trigger "Package Finished" :-)
        
    bWriteFile true;
    }




    //---------- Building Info-Text -----------
    if (bWriteFile == true) {
        
    sText += "**********************************" "\r\n"
        
    sText += "*          P A C K A G E         *" "\r\n"
        
    sText += "**********************************" "\r\n"
        
    sText += "Package.Name              : " myPackage.getName() + "\r\n" +
            
    "Package.DownloadFolder    : " myPackage.getDownloadFolder() + "\r\n" +
            
    "Package.Total             : " myPackage.getBytesTotal() + "\r\n" +
            
    "Package.Loaded            : " myPackage.getBytesLoaded() + "\r\n" +
            
    "Package.Finished          : " myPackage.isFinished() + "\r\n";
        if (
    myPackage.getComment() != undefined) {
            
    sText += "Package.Comment           : " myPackage.getComment() + "\r\n";
            
    iContent |= 2;
        }

        
    sText += "\r\n"
        
    sText += "**********************************" "\r\n"
        
    sText += "*            P A R T S           *" "\r\n"
        
    sText += "**********************************" "\r\n"
        
    for (var 0aParts.lengthi++) {
            
    sText += "Part.#                    : " "\r\n" +
                
    "Part.Name                 : " aParts[i].getName() + "\r\n" +
                
    "Part.Status               : " aParts[i].getStatus() + "\r\n" +
                
    "Part.Enabled              : " aParts[i].isEnabled() + "\r\n" +
                
    "Part.Finished             : " aParts[i].isFinished() + "\r\n" +
                
    "Part.Skipped              : " aParts[i].isSkipped() + "\r\n" +
                
    "Part.ExtractionStatus     : " aParts[i].getExtractionStatus() + "\r\n" +
                
    "Part.Total                : " aParts[i].getBytesTotal() + "\r\n" +
                
    "Part.Loaded               : " aParts[i].getBytesLoaded() + "\r\n";
            if (
    aParts[i].getUrl() != undefined) {
                
    sText += "Part.URL                  : " aParts[i].getUrl() + "\r\n";
            }
            if (
    aParts[i].getComment() != undefined) {
                
    sText += "Part.Comment              : " aParts[i].getComment() + "\r\n";
                
    iContent |= 2;
            }
            var 
    myArchive aParts[i].getArchive();
            if (
    myArchive != undefined) {
                if (
    myArchive.getUsedPassword() != undefined) {
                    
    sText += "Part.UsedPassword         : " myArchive.getUsedPassword() + "\r\n";
                    
    iContent |= 1;
                }
            }
            
    sText += "--------------------------:-" "\r\n"
        
    }

        
    sText += "\r\n"
        
    sText += "**********************************" "\r\n"
        
    sText += "*        A R C H I V E S         *" "\r\n"
        
    sText += "**********************************" "\r\n"
        
    for (var 0aArchives.lengthi++) {
            
    sText += "Archive.#                    : " "\r\n" +
                
    "Archive.Name                 : " aArchives[i].getName() + "\r\n" +
                
    "Archive.ArchiveTyp           : " aArchives[i].getArchiveType() + "\r\n";

            if (
    aArchives[i].getInfo() != undefined) {
                
    sText += "Package.Archive.Info         : ";
                
    sText += JSON.stringify(aArchives[i].getInfo(), null2) + "\r\n";
            }
            
    sText += "--------------------------:-" "\r\n"
        
    }
    }




    //---------- INFO.FILE naming and writing ----------- 
    if (bWriteFile == true && iContent 0) { //comment out or set "iContent >= 0" if info-file should be written always
        //- path creation
        
    sInfoFileType "." iContent sInfoFileType //add content-type hint to filetype
        
    sInfoFilePath myPackage.getDownloadFolder() + "/" myPackage.getName() + sInfoFileType//<packageFolder>/<packageName>.<iContent>.info
        
    if (sInfoFilePath.length 255) { //path to long! -> shorten!!
            
    sInfoFilePath myPackage.getDownloadFolder() + "/jd" sInfoFileType//<packageFolder>/jd.<iContent>.info
        
    }
        
    //- writing
        
    try {
            
    writeFile(sInfoFilePathsTexttrue);
        } catch (
    e) {
            
    //no error handling implemented !    
        
    }


  6. #6
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    Du hast den Sinn einer Regex glaub falsch verstanden.
    Du kannst mit einer Regex verschiedene passagen in einem text treffen und dir diese treffer als var ausgeben lassen.

    Was du vorhast sind mehrere Schritte... Erst suchst du dir mit RegEx den Link. Diesen speicherst du in einer var.
    Danach in schritt 2 suchst du dir mit RegEx die Passage "text=" und ersetzt diese durch "text= + var aus regex1"

    deine regexpattern
    ^.+\n.+\n.+\n
    trifft ja auch gar nichts in dem von dir gezeigtem text. Das funktioniert so nicht.
    diese Pattern macht so auch wenig Sinn.



    Ausserdem kommt mir das mächtig bekannt vor. Du kannst mich ja gerne nochmal antippern, wenn ich mit meinem Verdacht richtig liege
    Gruß
    Geändert von 1stAid (05.11.2016 um 21:59 Uhr)

  7. #7
    VIP Team Avatar von Unlimiter
    Registriert
    Mar 2015
    Beiträge
    728
    Gefällt mir!
    125
    Du gefällst: 632
    So ist es.

    Im Prinzip kann man es aber auch auf eine andere Art angehen, wenn du das File sowieso in einem Array zwischenspeicherst (so kommt es mir laut deinem Text vor). Das kürzt das ganze nur "gering" ab, macht die Sache aber wesentlich strikter.

    An der Stelle solltest du bereits die korrekten Positionen kennen und direkt die richtigen Zeilen ansprechen.

    Danach bleibt es aber beim üblichen Vorgang:
    • Überprüfen ob die Zeile nach ...= befüllt ist
    • Wenn ja -> füge den Link vorne hinzu / willst du ihn durch den anderen extrahieren muss nochmal ein Filterpattern her


    Zudem würdest du übrigens beim "ersetzen", eine neue Zeile hinzufügen.

  8. #8
    Junior
    THEMENSTARTER


    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1
    @1stAid
    Du könntest recht haben

    Also ich sitze da jetzt schon einige Tage drann und die Ausgabe ist die beste die ich hin bekomm.
    Weil der Crawler nicht immer gleich ausgibt und nur find and replace zu Verfügung steht. Der Coder stellt sich bisschen Quer was Custum Template angeht.
    JDownloader macht zu viele Fehler so wie es jetzt ist Cover und File sind oft getrennt und somit das Ziel verfällt wurde ich sagen.
    Jetzt war der Gedanke ich hole mit ^.+\n.+\n.+\n ihm den Hosterlink hoch und gleichzeitig auf diese Weise Zeile für Zeile fertig machen und
    unten kommt dann das drunter ################## JD liest nur das was er soll und sollte dann Endlich mal Arbeiten. Aber leider scheint man den link nicht hoch zu bekommen.

  9. #9
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    Ich würde eher die RemoteApi einschalten und simpel die gefilterten Links per get direkt an den JD2 senden... Du läufst mit dem Vorhaben mit der Kirche ums Dorf.
    Weil das soll doch eine JD Datei werden die die in die Ordnerüberwachung vom JD soll oder?

    Code:
    Result := idhtp1.get('http://localhost:3128/linkgrabberv2/addLinks?' + DataStringUrlEncoded);
    Wenn RemoteApi eingeschaltet ist 
    http://localhost:3128/linkgrabberv2/addLinks?%7B%22links%22%3A%22http%3A%2F%2Ful.to%2Fdqlb4qid%22%7D 
    in den Browser eingeben und zack sind die Links im JD2
    oder lass dir was coden, wenn du mit Regex nicht viel am Hut hast wird es schwierig.
    Wenn das ganze noch in ein "unbekanntes" 3rd Partytool eingegeben wird....


    Gruß

  10. #10
    Junior
    THEMENSTARTER


    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1
    Las dir was Coden hört sich jut, die frage ist wer hat Lust dazu oder vielmehr wer hat Zait dazu und erschlägt mich nicht mit seinen Preisen?
    Wie die txt am Ende aussehen soll steht ja oben alles,aus einer txt Datei werden 2-3, 3 für den Idealfall.
    3 Pfade die ich frei angeben kann, Einlesen, txt Ausgabe und Ausgabe für Jdownloader. Ausgabe für Jdownloader "muß" so sein wie oben angeben um fehler zu vermeiden, wichtig ist das die Hoster in einer Zeile sind mit einem Leerzeichen dazwischen, da die Beschreibung doch recht unterschiedlich ist sollte diese an das Ende kommen, mal nur 2 Zeilen und dann wieder 6-7 Zeilen, dann ein Feld wo ich eigene Wörter Zeichen oder was auch immer eingeben kann die dann raus genommen werden. Dann soll es natürlich Automatischen den Ordner der Ausgabe einlesen txt Dateien die er nicht lesen kann weil sie völlig verschoben sind kann er löschen oder auch extra wo ablegen.

    Ein Extra wäre noch wenn er ein Ordner erstellt mit dem Subject Namen von der ersten Zeile und die Beschreibung gleich da rein packt bevor er die "my.crawljob" weiterreicht an den Jdownloader.
    <subject>Diabetes.Living.Germany.-.Oktober-November.2016</subject>

    Joar mehr brauch ich gerade nicht bzw fällt mir nicht ein

  11. #11
    Anfänger Avatar von doge
    Registriert
    Sep 2016
    Beiträge
    14
    Gefällt mir!
    3
    Du gefällst: 3
    Wenn man hier sauber herauslesen könnte, was denn überhaupt gewollt ist, wäre man (bzw. ich) durchaus bereit einen Versuch zu implementieren..
    Aber das ist mir ganz ehrlich nach mehrmaligem lesen immer noch nicht klar ¯\_(ツ)_/¯

  12. #12
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    Er hat 2 Dateien, eine die er von nem "Crawler" hat. Damit will er einen Jd DL Job erstellen dazu erstellt er die myFile.crawljob mit den Infos die er aus der "Crawlerdatei" entnehmen möchte... die soll dann in die Ordnerüberwachung von JD geschoben werden ....

  13. #13
    Junior
    THEMENSTARTER


    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1
    Ist das dein ernst das du aus den Spoilern nicht raus lesen kannst wo es anfängt und was er ausgeben soll?
    Bei fragen, schreib ruhig und du sollst auf jede Frage eine Antwort bekommen!


    Ich habe da was für euch:

    Code:
    search (?si)(http://pxhst.+)(http://nitroflare.+)
    
    Replace: $2$1

  14. #14
    Junior
    THEMENSTARTER


    Registriert
    Jun 2015
    Beiträge
    44
    Gefällt mir!
    0
    Gefällt mir: 1
    Keine bereit nen Script/Tool zu schreiben das mir das oben genannte richtig ausgibt?

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 12.06.2021, 09:52
  2. Antworten: 2
    Letzter Beitrag: 15.02.2016, 14:24
  3. (PHP) - Einführung in die Welt der "Regulären Ausdrücke" - RegEx
    Von Unlimiter im Forum Entwicklung / Programmierung
    Antworten: 0
    Letzter Beitrag: 08.06.2015, 14:24
  4. Bist du "devot" und "dominant" (im Bett)
    Von darkness im Forum Daily Talk & Offtopic
    Antworten: 8
    Letzter Beitrag: 14.05.2015, 18:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org