8.dubna 2005

PC a internet Regulární výrazy

Nedávno jsem byl v Praze na školení ohledně regulárních výrazů. Školení nebylo špatné, jen mě se zdálo trošku zbytečně dlouhé. Kdybychom končili kolem poledne, bylo by to akorát. Každopádně mi tu zbylo pár poznámek, které si nejlépe uložím tak, že si je zapíšu sem.

Ing. Jan Vrbata - REGULÁRNÍ VÝRAZY

Standardy pro regulární výrazy: (dva různé, ale hodně podobné)

  • POSIX 1003.2 (mezinárodní norma)
  • PCRE (odvozenina)

POZN:Podle mě je pak hlavně spousta nestandardů, které používají různé jazyky. Ale základ je asi opravdu vždy stejný.

www.pcre.org - knihovna PCRE z Perlu, kterou lze imlementovat do vlastních programů

Literatura:

Operátory, metaznaky a kvantifikátory

  • Pro nelafanumerické znaky (přeba ?), které mají předřazené , stává se z něj obyčejný alfanumerický znak. Tj. ?=speciální znak, ?= otazník
  • Zřetěžení (posloupnost znaků): abc=abc
  • Tečka "." reprezentuje libovolný 1 znak
  • [ ] reprezentují výčtovou množinu, tj. odpovídá jednomu znaku uvedenému v závorkách.
    • lze používat intervaly (např 0-9, a-z, d-r, ...) Např pro písmeno [a-zA-Z]
    • negace: znak stříšky "^" např [^0-9] stříška musí být vždy na začátku, jinak je brána jako obyčejný znak
    • kategorie (stangard POSIX): (nutno použít pouze uvnitř hranatých závorek - tj. dvojitý hranatý závorky)
      • [:digit:] - číslice
      • [:alnum:] - alfanumerický znak
    • .kategorie (standard PCRE):
      • d - číslice
      • w - alfanumerický znak
      • D - jedna nečíslice
      • W - jeden nealfanumerický znak
  • operátor | - označuje nebo. Vybírá věci v závorce. Např: (slovo1|slovo2)
  • metaznak ^ reprezentuje začátek řetězce a $ konec řetězce
  • kvantifikátor * reprezentuje 0 a více výskytů daného znaku nebo závorky, který kvantifikátoru bezprostředně předcházel
    • tento kvantifikátor je tzv. žravý a snaží se pojmou co nejvíc znaků
    • dáme-li za kvantifikátor ?, potlačíme její žravost a vybere co možná nejmenší počet znaků (takzvaně LEISI-líný)
  • kvantifikátor + reprezentuje totéž jako hvězdička, ale reprezentuje 1 a více výskytů
  • kvantifikátor ? reprezentuje 0 nebo 1 výskyt daného znaku nebo závorky, který kvantifikátoru bezprostředně předcházel
  • kvantifikátor {n} reprezentují n-opakování
    • varianta {min,max} reprezentuje interval opakování. Lze potom psát i {min,} (nebo {,max} - tato implementace nám nějak nefunguje, ale měla by)
  • operátor  reprezentuje začátek a konec slova (v POSIXu [[:<:]] a [[:>:]])
  • operátor 1 2 ... označují obsah 1., 2. ... závorky ve výrazu. Čísla se počítají vždy podle levé závorky. Tedy ((a)(b)) potom zanmená 1=ab, 2=a 3=b
  • chceme-li zapamatování nějaké závorky eliminovat, potom se píše (?: a tato závorka nebude zapamatována
  • operátor w reprezentuje písmena ve slovu (znaky a čísla)
  • metaznak (?=xxxxxx) reprezentuje výhled dopředu = nastaví kurzor na slovo xxxxxxx, ale neporovnává hos ničím. (Např: d+(?= kč) vrátí mnočinu číslic, které předchází slovu "kč"
  • (?!=xxxxxx) totéž, ale negace. Např: d+(?! kč) vrátí všechny čísla, za nimiž není Kč. Nebo (?!000)ddd vrátí třímístné číslo mimo 000
  • metaznak (?<=xxxxx) a (?<!xxxxxx) je totéž ale né dopředu, ale zpět.

Hledáte-li správce sítě nebo prostě nekoho kdo umí spravovat servery, hledejte na www.petr-hladis.cz

Přečteno: 5441x | Komentářů: 17x | Kategorie: PC a internet

Komentáře čtenářů

1. GRAVATAR - 81.201.60.14515. 10. 2012 9:09:00
2. GRAVATAR - nefsreisy@benjaminmail.xyzSpoulse2. 9. 2022 9:56:00
<a href=https://cialisfstdelvri.com/>tadalafil generic vs cialis</a> The co-administration has also triggered near-death episodes in some men

Reklama ETARGET:

3. GRAVATAR - AmattVomo@benjaminmail.xyzAmattVomo4. 9. 2022 15:11:00
As a treatment for ED, it s typically prescribed at a dosage of 10mg for use as needed, which may be adjusted to 20mg or 5mg based on your response to the medication <a href=http://buypriligyo.com/>buy priligy without a script</a> Cialis prescription refill packs are usually very affordable when compared with other online Cialis pharmacies
4. GRAVATAR - unjurse@benjaminmail.xyzunjurse6. 9. 2022 13:51:00
Bioidentical hormones <a href=http://vtopcial.com/>tadalista vs cialis</a>
5. GRAVATAR - Oblispaps@benjaminmail.xyzOblispaps8. 9. 2022 22:13:00
<a href=https://cheapcialiss.com/>cialis price</a> It can take your body a few doses before you start to respond and you see the full benefits
6. GRAVATAR - intisrunc@benjaminmail.xyzintisrunc11. 9. 2022 14:11:00
<a href=http://clomida.com/>clomid fertility pills</a> This drug is not a steroid, it is a synthetic estrogen.
7. GRAVATAR - orderce@benjaminmail.xyzorderce14. 9. 2022 16:02:00
A fertility monitor is most appropriate for women whose cycles last from 21 to 42 days, but women who have had a recent pregnancy, stopped breast-feeding, halted hormonal contraceptives, or had other treatments that affect the cycle should wait to use it until they have had two consecutive normal menstrual cycles. <a href=http://tamoxifenolvadex.com/>tamoxifen pill</a> leave dose the same.

Reklama ETARGET:

8. GRAVATAR - toreago@benjaminmail.xyztoreago18. 9. 2022 8:39:00
Chang M- Y, Rhee Y- H, Yi S- H, Lee S- J, Kim R- K, Kim H, Park C- H, Lee S- H 2014 Doxycycline enhances survival and self- renewal of human pluripotent stem cells. <a href=https://buydoxycyclineon.com/>buy doxycycline online for humans</a> Interestingly, Horgan et al.
9. GRAVATAR - geomire@benjaminmail.xyzgeomire9. 10. 2022 11:12:00
<a href=https://buylasixon.com/>lasix for weight loss</a> 2016 May 6; 11 5 e0154342
10. GRAVATAR - Empobgoma@benjaminmail.xyzEmpobgoma15. 10. 2022 6:00:00
Bug sprays and cancer risk <a href=https://bestcialis20mg.com/>cialis otc</a>
11. GRAVATAR - plaubbida@benjaminmail.xyzplaubbida30. 10. 2022 13:48:00
The incessant smoke from western wildfires didn t help either <a href=https://stromectol.autos/>buy stromectol tablets humans</a>
12. GRAVATAR - Zootthory@newonlinemail.xyzZootthory11. 11. 2022 9:33:00
The authors conclude that diffuse panbronchiolitis is the third disease associated with reduced nasal nitric oxide levels, the others being cystic fibrosis and primary ciliary dyskinesia syndrome <a href=http://priligy.me/>priligy equivalent</a>

Reklama ETARGET:

13. GRAVATAR - Quexerolo@benjaminmail.xyzQuexerolo12. 11. 2022 0:05:00
<a href=http://nolvadex.one/>para que sirve nolvadex</a> Co pay foundations are independent charities that assist insured patients who qualify with the co pay costs of their pharmaceutical products
14. GRAVATAR - duchthusy@barrettmail.xyzduchthusy14. 11. 2022 4:53:00
<a href=https://lasix.autos/>lasix 40 mg tablet</a> Mags, your cartoon says it all
15. GRAVATAR - addedetem@mailuk.siteaddedetem14. 11. 2022 6:13:00
We also conducted a sensitivity analysis that included death from any cause, including breast cancer, and found an increased risk associated with paroxetine <a href=http://clomid.mom/>clomid generic</a>
16. GRAVATAR - Slaldycle@topmailnew.xyzSlaldycle16. 11. 2022 22:21:00
35 Aromasin 18 people, 48 <a href=http://doxycycline.world/>doxycycline tick bite</a> I saw the film, said that s the life for me Forsake the mundane for some instability So sue me
17. GRAVATAR - stirutt@newonlinemail.xyzstirutt21. 11. 2022 14:54:00
But Rasanayagam notes that risks add up and alcohol is one that women can reduce <a href=https://stromectol.ink/>stromectol walmart canada</a>

Reklama ETARGET:


Přidat vlastní komentář k článku



Z důvovů ochrany proti spamu prosím do následujícího políčka napište texy "NOSPAM":

Chcete-li ke komentáři přidat svou fotku nebo jinou ikonku, postupujte podle návodu.


TOPlist

[CNW:Counter]