Szoftverfejlesztés .NET platformon - Jegyzet 3. fejezet

A VIK Wikiből

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


70-536 .NET Framework 2.0 Application Development Foundation

%TOC{depth="3"}%

Reguláris kifejezések

  • Sor eleje: =^=
  • String eleje: =\A=
  • Sor vége: =$=
  • String vége: =\Z=
  • Szóhatár - nem szóhatár: =\b= - =\B=

(szóhatár: előző karakter alfanumerikus, a következő nem, vagy fordítva)

  • A következő találatnak ott kell kezdődnie, ahol az előző befejeződött: =\G=
  • Többszörözés: =*=, =+=, ={n}=, ={n,m}=, ={n,}=, =?=
  • =[a-z]=
  • =[abcde]=
  • =a|e=
  • =.=: tetszőleges karakter
  • Szám - nem szám: =\d= - =\D=
  • White space - nem white space: =\s= - =\S=
  • =[a-zA-Z0-9_]= - =[^a-zA-Z0-9_]=: =\w= - =\W=
  • Névvel ellátott csoport: =(?<name>pattern)=
  • Hivatkozás névvel ellátott csoportra: =\k<name>=
  • Hivatkozás névtelen csoportra: == - ==

Reguláris kifejezés létrehozása

  • =Regex(pattern, options)=
  • =MultiLine= / =SingleLine=:

=MultiLine= módban a =^= és a =$= karakterek a sor határaira illeszkednek, =SingleLine= módban a string határaira.

  • =CaseInsensitive=
  • =Compiled=: a kifejezés köztes kódra fordul, így gyorsabb az illesztés

Keresés

  • =bool Regex.IsMatch(input, pattern)=
  • =Match Regex.Match(input, pattern)=
  • =Regex r=new Regex(pattern); Match m=r.Match(input);=
  • Találat részei: =m.Groups[n].Value=

Csere

  • =Regex.Replace(input, pattern, replace)=
  • $csoportszám
    -mal vagy
    ${csoportnév}
    -vel hivatkozhatunk a találatban a csoportokra
  • =$&=: behelyettesíti a teljes találatot (=m.Value=)
  • =$`=: behelyettesíti a string találat előtti részét
  • =$'=: behelyettesíti a string találat utáni részét
  • =$_=: behelyettesíti az egész input stringet

Encoding

Legelterjedtebb karakterkódolások

  • ASCII (7 bit/karakter, 0-127)
  • UTF-7: az ASCII karaktereket meghagyja, a többit escape-eli
  • Unicode (nem konkrét kódolás, hanem gyűjtőnév)
    • UTF-8 (8/16/24/48 bit)
    • UTF-16 (16 bit)
    • UTF-32 (32 bit)
  • ANSI/ISO (8 bit)

=System.Text.Encoding=: karakterkódolások közötti konverziót végez

  • =GetEncoding()=: létrehoz egy példányt a kódolás neve alapján
  • =GetBytes()=: =string= → =byte[]= átalakítást végez
  • =GetEncodings()=: összes elérhető kódolás,
    EncodingInfo
    -kat ad vissza

File olvasásnál vagy írásnál a

StreamReader

-nek illetve a

StreamWriter

-nek át lehet adni argumentumként a karakterkódolást.

-- Peti - 2007.06.27.