项目作者: sulmar

项目描述 :
Przykłady ze szkolenia C# dla zaawansowanych
高级语言: C#
项目地址: git://github.com/sulmar/altkom-abc-csharp-adv.git
创建时间: 2020-02-27T08:02:00Z
项目社区:https://github.com/sulmar/altkom-abc-csharp-adv

开源协议:

下载


Regex

Narzędzia

regex101.com

Zastosowania

  • Sprawdzenie tekstu ze wzorcem
  • Wyszukiwanie wzorca w tekście
  • Pobieranie fragmentów tekstu
  • Zamiana tekstu

Wyszukiwanie ciągów znaków

  1. lorem
  2. ~

Flagi

Flagi - dodatkowe opcje silnika RegEx, które pozwalają w pewien sposób zmieniać jego sposób działania

Flaga g global
Flaga m multi line
Flaga i insensitive
Flaga x extended
Flaga s single line
Flaga u unicode
Flaga U ungreedy

Klasy znaków

Zbiory

  • zbiór znaków

    1. [abc]
    • wykluczenie zbioru
      1. [^abc]
  1. bou]b

Zakresy

Cyfry

Zamiast [0123456789] możemy zapisać [0-9]

  1. [7-9]

Litery

Zamiast [abcdefghijklmnoprstuwxyz] możemy zapisać [a-z]

Białe znaki

\ spacja
\t tabulacja
\n nowa linia
\r powrót karetki

Skrótowe klasy znaków

\d cyfry
\D wszystko poza cyframi
\w cyfry i litery (jeśli jest włączona flaga Unicode to także znaki narodowe)
\W wszystko poza cyframi i literami (jeśli jest włączona flaga Unicode to także znaki narodowe)
\s białe znaki
\S wszystko poza białymi znakami

Kropka

Specjalny znak, który jest w stanie zastąpić każdy inny, poza znakiem nowej linii.

  1. .
  2. ~

Alternatywy

  1. Lorem|Sed
  1. Alfa|Beta|Gamma

Powtórzenia

Zamiast

  1. \d\d-\d\d\d

możemy zapisać:

  1. \d{2}-\d{3}
  • Adres IP
    1. \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
  1. 127.0.0.1
  2. 192.168.0.1
  3. 255.255.255.245
  4. 8.8.8.8

Grupy

Przechwytujące

\d{4}-\d{2}-\d{2}

  1. (\d{4})-(\d{2})-(\d{2})
  • Odwoływanie się do grup
    1. (\d{4})(-)(\d{2})\2(\d{2})

Nie przechwytujące

  1. (\d{2})(?:-)(\d{3})

Nazwane

  1. (?<year>\d{4})-(?<month>\d{2})

Kotwice

Dopasowanie początku tekstu

  1. ^Lorem

Dopasowanie końca tekstu

  1. est$

Granice

Wyznaczają granice słowa

  1. ipsum\b