Monday, April 06th, 2009 | Autor:

A colleague is looking to learn avaldis so I decided to put it up here. This is the first in a series of regex-related articles. In the parts to follow, we’re going to be using our Regular Expressions to learn other topics relevant to the Internet while simltaneously expanding on regex knowledge.

Regex Quick Start

  1. A püstkriips |, sometimes known as a pipe, is an “OR” operator in regular expressions. It indicates that the pattern to the left OR to the right is acceptable. On the keyboard, this key is typically thecapital”, või “shifted version”, of the backslash key.
  2. Parentheses are round brackets () that select a section of a regular expression. Neid saab kasutada sarnaselt matemaatika kui Selleks toimingute reguleeritakse. The “valik” võib viidata mujal kui me katame hiljem.
  3. A täpp . erimärk, mis vastab mistahes iseloomu peale “uus rida” tähemärki.
  4. kaldkriips \ mõnikord nimetatakse põgeneda iseloom. On palju märke, nagu sulgudes ja püstribale eespool, millel on eriline tähendus. Kenoviiva kasutatakse ära võtta (põgeneda) need erilised tähendused. Näiteks, täpsustada tegelik täieliku peatumiseni, pead põgeneda erilist dot iseloomu: \.
  5. Täht * on ettevõtja, kes näitab, et eelmise iseloomu võib korrata null või enam korda. See on sageli koos dot toota “märk” muster, mis vastab string tahes pikkusega: .*

Kasutades püstribale ja Paomärk

Siin on meil mitmeid Näiteks veebiaadressid:

http://dogma.swiftspirit.co.za/
http://swiftspirit.co.za/
http://google.com/

Kui ma tahan muster, mis sobib neile kõigile, Ma võiks kasutada püstribale (reegel 1 üle) nende eraldamiseks. Ma siis ka vaja kasutada Paomärk (reegel 4 üle) täielikuks peatust:

http://dogma\.swiftspirit\.co\.za/|http://swiftspirit\.co\.za|http://google\.com/

Eespool sobib iga URI minu näites aga see ei ole konkreetselt tõhus või elegantne.

kasutades sulgudes

Sama on võimalik saavutada järgmise, lühem, avaldis, kasutades sulgudes on reeglina 2 üle:

http://((|dogma\.)swiftspirit\.co\.za|google\.com)/

Teate, et ma olen lihtsalt panna ühised teemad, näiteks “http://” ja “/”, väljaspool valikud.

Mida teha, kui soovite, et see vastaks teksti, mis võib olla ükskõik?

Äkki teil on rohkem kui sa ikka tahad, et see vastaks? Näiteks, kui ma panen http://swiftspirit.co.za/downloads/ ja ma ikka tahad mustrit seda või mõnda teist url minu kodulehel. Või äkki tema eks http://midagi.google.com/midagi ka vastavad. Me ei kasuta spetsiaalset dot ja star tähemärki reeglid 3 ja 5 ülevalt:

http://((|dogma\.)swiftspirit\.co\.za|(|.*\.)google\.com)/.*

Lihtsalt lisades, et iga märk võib esineda null või enam korda laseb palju rohkem mängu lisamata liiga palju regulaaravaldis keerukus:

(|.*\.)

Eespool on ees google.com muster. Püstriba näitab kaks võimalust siin: kas tühi (nii et me lõpuks lihtsalt google.com), või .*\. (nii et meil on midagi järgneb sõnasõnaline dot ning järgneb google.com).

Harjutamine teeb meistriks

Näeme juba alates viimane näide, et regulaaravaldise võib väga kiiresti muutuda keeruline. Sarnaselt mistahes keeles, on kergesti võimalik lugeda regulaaravaldise võtab praktikas. Kui teil on asjakohast vajadust töötada regulaaravaldiste, sa oled õnnega.

Osa 2 peaks olema, tuleb mõne päeva. Ma tulen teeme mõned väga kaudse “töö”, näidates, kuidas loputada DNS vahemälu erinevaid süsteeme.

osa
Kategooria: arvutus-, keel
Võite järgib kõiki vastuseid sõnadest läbi RSS 2.0 feed. Võite jätta vastuse, või trackback teie oma saidil.

One Response

  1. […] have we here? As per part 1, the vertical bar indicates that either “lookupd” OR “dscacheutil” on […]

Jäta vastus » Logi sisse