abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Zajímavý software

    Emacs na stříhání videa? Klidně.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Nová verze

    Byl vydán Mozilla Firefox 142.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 142 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý článek

    Python Developers Survey 2024, výsledky průzkumu mezi vývojáři v Pythonu organizovaném Python Software Foundation ve spolupráci se společností JetBrains v říjnu a listopadu loňského roku. Zúčastnilo se 30 tisíc vývojářů z 200 zemí. Linux používá 59 % z nich.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Zajímavý článek

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 2
    včera 01:55 | Nová verze

    Byla vydána nová verze 2.51.0 distribuovaného systému správy verzí Git. Přispělo 91 vývojářů, z toho 21 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 01:33 | Zajímavý článek

    Po roce bylo vydáno nové číslo magazínu Phrack: Phrack 72.

    Ladislav Hagara | Komentářů: 3
    18.8. 19:33 | Pozvánky

    OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.

    Ladislav Hagara | Komentářů: 3
    18.8. 19:22 | Komunita

    Konference LinuxDays 2025 proběhne o víkendu 4. a 5. října v Praze. Konference OpenAlt 2025 o víkendu 1. a 2. listopadu v Brně. Blíží se konec přihlašování přednášek. Přihlaste svou přednášku (LinuxDays do 31. srpna a OpenAlt do 3. října) nebo doporučte konference známým.

    Ladislav Hagara | Komentářů: 0
    18.8. 12:22 | IT novinky

    Raspberry Pi Touch Display 2 je nově vedle 7palcové k dispozici také v 5palcové variantě. Rozlišení stejné 720 × 1280 pixelů. Cena 40 dolarů.

    Ladislav Hagara | Komentářů: 1
    18.8. 04:44 | IT novinky

    Telnet a ssh klient PuTTY postupně přechází na novou doménu putty.software.

    Ladislav Hagara | Komentářů: 5
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (77%)
     (9%)
     (9%)
     (0%)
     (5%)
     (0%)
    Celkem 22 hlasů
     Komentářů: 4, poslední včera 16:48
    Rozcestník

    Dotaz: Negace regularniho vyrazu

    16.11.2017 15:39 Rishare2 | skóre: 1
    Negace regularniho vyrazu
    Přečteno: 1239×

    Ahoj,
    snazim se pouzit negaci regularniho vyrazu bez presneho ukotveni v stringu. Nejlepe vysvetlim na prikladu:


    Text: 'aabbcc'

    Otazka: Obsahuje Text retezec 'bb'?
    Regularni vyraz: .*bb.*

    Otazka2: Je Text bez retezce 'bb'?
    (nefunkcni) regularni vyraz: (?!(.*bb.*))


    Chapu, proc to takto nefunguje (vyhodnoti se jako true na 'aa'), ale ja bych potreboval logiku "Pokud retezec obsahuje 'bb' tak vysledek je False. String ma ruznorodou delku a hledany retezec muze byt umisten kdekoliv. Vyhodnoceni se nasledne dela v JS takto a bohuzel ten kod nemohu menit, jen mu podsouvat regexy.

    var regexObj = new RegExp(regex, "g");
    if (regexObj.test(Text])) {}


    Diky za komentare, jsem vdecny za jakoukoliv pomoc.



    Řešení dotazu:


    Odpovědi

    Řešení 1× (Rishare2 (tazatel))
    Alkel U3 avatar 16.11.2017 16:55 Alkel U3 | skóre: 7
    Rozbalit Rozbalit vše Re: Negace regularniho vyrazu
    Nevím bohužel, jak v JavaScriptu, s PCRE mi funguje tenhle pattern: '^((?!bb).)*$'
    $ cat > lines 
    aabb
    abba
    acca
    bbaa
    ccaa
    baab
    
    
    $ grep -P '^((?!bb).)*$' lines 
    acca
    ccaa
    baab
    
    wamba avatar 16.11.2017 21:13 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Negace regularniho vyrazu
    také by šel použít následující (trochu hůře čitelný) regexp: '^(b?[^b]+)*b?$'
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    16.11.2017 22:32 Rishare2 | skóre: 1
    Rozbalit Rozbalit vše Re: Negace regularniho vyrazu
    Diky, diky, diky, to je presne to co jsem potreboval.

    regex = "blabla";
    negated_regex = "^((?!"+regex+").)*$";


    Parada, ten libovolny znak za negative lookahead me nenapadl a pro me potreby je toto reseni mnohem vhodnejsi, nez druhe reseni uvedene nize (kvuli negovani libovolneho strojove generovaneho regexu jinym procesem).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.