Ако работите с текст, ще оцените колко полезни са регулярните изрази. Редовните изрази са навсякъде в Linux, за да търсят текст точно до характера. Тази статия има за цел да осигури малък "мамят лист" за хора, които от време на време просто се нуждаят от малко опресняване.

Ако имате нужда от някакво въведение към регулярните изрази, разгледайте нашето ръководство за начинаещи тук.

характерописаниепример
, (Точка)Съответства всеки един знак, с изключение на новия ред (\ n)ct съвпада с "cat", "cut" или "cot".
* (звезда)Повторете предишния израз 0 или повече пъти (алчен режим)12*3 мача "13", "123", "1223", "12223". Той може да се използва заедно с. (точка) като m.*easier съвпада "maketecheasier". Използването .* по себе си е безсмислено, тъй като съвпада с всичко и връща пълния резултат.
+ (плюс)Повторете предишния израз 1 или повече пъти.12+3 мача "123", "1223", "12223"
? (въпросителен знак)Извършва предходния елемент по избор.ma?ke съвпадения "make", "mke"
^ (карет)Съвпадение от началото на низа^he приписва "здравей", "ада", "помощ", "той е момче"
$ (долар)Съвпадение от края на низаed$ мачове "действа", легло ", " алчност "
(...) (кръгла конзола)Групиране на символи или израз(ak) съвпада с "make", "take", "
{n} (къдрава скоба, където п е цяло число по-голямо от 0)Съответства на предишния елемент точно n пъти12{3}5 съвпадения "12225"
[...] (квадратна скоба)съвпадат един знак в скобата[abc] съвпада с "a", "b" или "c" в низа "abc".
[^ ...]Съчетайте всеки знак с изключение на тези, които са дефинирани в скобатаa[^b]c съвпада с "aec", "acc", "adc", но не "abc"
| (тръба)Съчетайте израза отляво или отдясно на тръбата.col(o|ou)r съвпада с "цвят", "цвят"
- (хипен)Посочете диапазон от символи, които да съответстват. Използва се предимно в [az], [AZ], [1-9], [a-zA-Z1-9]a[az]c съвпада с "abc", "acc", "adc"
\ (наклонена черта)Избягайте от специален характер и го превърнете в обикновен характер.a\*c съвпада с "a * c".
\ n, \ r, \ tсъвпадат съответно с нов ред, връщане и табулатор
\ Б ... \ бСравнете дума в рамките на границата.\bTech\b съответства на думата "Tech" в "Make Tech Easy".

Някои по-сложни примери

Съчетаване на определен брой знаци .

Ето пример за американски телефонен номер, без да се брои кода на областта:

 [0-9] {3} - [0-9] {4} 

Това ще съответства на всеки телефонен номер на формата "111-1111".

Извършване на опция по избор

Тук отново е на американския телефонен номер, този път с незадължителни кодове на района. Ще приемем, че файлът с телефонните номера, които търсим, има телефонни номера, структурирани по следния начин: 555-555-5555. Операторът "?" Обозначава незадължителен модел, който го предхожда.

 ([0-9] {3} -)? [0-9] {3} - [0-9] {4} 

Разбира се, това е малко грозно, тъй като регулярните изрази са склонни да бъдат, но това е много мощен.

Намиране на набор от знаци :

 . {1, 3} 

Това ще съответства на всеки знак между 1 и 3 пъти.

Изтегляне на обикновени изрази

Не можете ли да получите достатъчно от това? Ние сме подготвили листовка за измама за вас, за да имате достъп до него, когато имате нужда от него.

Изтеглете го тук.