Cum să utilizați expresiile regulate în caseta de instrumente

Publicat: 2022-04-17
Cuprins
Cuprins

Ce este o expresie regulată?

O expresie regulată este folosită pentru a verifica sau a verifica un model. Aplicația lor principală este pentru filtrarea elementelor și găsirea potrivirilor, de exemplu, în următoarele scenarii.:

  • Analytics: puteți utiliza Regex pentru a segmenta traficul.
  • Htaccess: puteți rescrie adresele URL într-un mod mai eficient.
  • SISTRIX: puteți filtra rapoartele noastre care conțin adrese URL, fragmente sau cuvinte cheie.

Expresiile regulate – sau Regex – pot fi folosite în multe limbaje de programare, dar acest tutorial se va baza pe Perl, deoarece folosește standardul pe care se bazează funcționalitatea SISTRIX Regex deja disponibilă .

Cum putem construi expresii regulate?

Vom face acest lucru folosind caractere, grupări, cuantificatori și clase, deoarece este sintaxa prin care vom putea construi expresii.

Sintaxă pentru crearea unei expresii regulate
Personaje Comportament Exemplu
? Caută caracterul precedent de 1 sau 0 ori. https?
* Caută caracterul precedent de 0 sau de mai multe ori. 30*
+ Caută caracterul precedent de 1 sau de mai multe ori. [0-9]+
| Caută un element sau altul. (sau) (jpg|jpeg)
^ Indică începutul modelului ^https
$ Indică sfârșitul modelului html$
· Caută orice personaj (wild card) 4..
\ Nu interpretează un caracter special (omite caractere) \/
Opțiuni de grupare pentru expresiile regulate
Gruparea Comportament Exemplu
() Captează conținut specific (sistrix)
Se potrivește cu Sistrix
[] Captează caracterele dintre paranteze [0-9]
Se potrivește cu orice caracter numeric
[az]
Se potrivește cu orice literă mică
{} Indică numărul de iterații, minim sau maxim .{1,3} Se potrivește cu orice caracter repetat de 1 până la 3 ori.

În acest tutorial nu vom folosi cuantificatori, dar credem că este încă interesant să vă familiarizați cu ei în cazul în care îi folosiți în alte medii.

Cuantificatori în expresii regulate
Cuantificatori Comportament
\w Caută un cuvânt, o cifră sau un tip de caracter _
\d Caută un caracter cifră
\s Caută un caracter de spațiu alb
\b Se potrivește începutul sau sfârșitul unui cuvânt
\W Caută un caracter care nu este un cuvânt, cifră sau _
\D Caută un caracter care nu este o cifră
\S Caută un personaj care nu este un spațiu alb.

Exemple SEO cu expresii regulate

Pentru a putea folosi exemplele sugerate, trebuie să accesați secțiunea „Cuvinte cheie” și să utilizați filtrele de cuvinte cheie, URL, titlu sau descriere.

Filtrarea cuvintelor cheie cu expresii regulate

Pentru a accesa această caracteristică trebuie doar să analizați un domeniu 1 și să mergeți la Cuvinte cheie 2 , apoi să mergeți la Selecția Filtru 3

1
2
3

Și apoi, utilizați filtrul de cuvinte cheie cu Regex 4 .

4

Acum am dori să vă propunem câteva cazuri de utilizare în care puteți aplica aceste expresii pentru a profita la maximum de analiza de cuvinte cheie a proiectelor dvs. sau atunci când vă analizați concurenții.

Includeți sau excludeți numele mărcii

Imaginați-vă că aveți o marcă care acceptă diferite ortografii sau este cunoscută sub mai multe nume de marcă diferite. Putem crea o expresie regulată pentru a grupa toate cuvintele cheie pe care le considerăm a fi termeni de marcă. De exemplu, currys.co.uk are diverse cuvinte cheie de marcă, și anume:

curry, curry, lumea computerelor

Astfel, vom folosi următoarea expresie:

 (curry|currys|pc world).*
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru currys.co.uk cu filtrul de expresii regex „.*(curry|currys|lumea PC).*” aplicat.

Mai jos puteți vedea rezultatele pe care le-am obține:

De asemenea, este posibil să setați filtrul pentru a exclude cuvintele cheie de marcă, folosind următoarea expresie și va afișa numai cuvinte cheie generice:

 ^(?!.*(curry|currys|pc world).*?)
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru currys.co.uk cu filtrul de expresii regex „.^(?!.*(curry|currys|lumea pc).*?)” aplicat.

Includeți sau excludeți erorile în termeni de marcă

Există șansa să ne întâlnim cu mărci, care sunt adesea scrise greșit sau scrise cu erori, cum ar fi Ryanair.

Iată câteva exemple de termeni introduși de utilizatori pentru a căuta această companie aeriană:

  • ryanair
  • rayaner
  • ryan ir
  • rayan ir
  • rayana eir
  • raya nair
  • rayan ari
  • rayar aer

Am identificat peste 35 de nume de mărci pe care le putem capta folosind doar o singură expresie regulată:

Pentru a include toate variațiile mărcii:

 (r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru ryanair.com cu filtrul regex „.(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e| linii| )?(linie|ir)?" aplicat.

Pentru a exclude toate variațiile mărcii:

 ^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?).)*$
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru ryanair.com cu filtrul regex „^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air) ?(e|linii| )?(line|ir)?).)*$" aplicat.

Desigur, putem aplica în continuare alte filtre acestei liste, cum ar fi „conține”, „nu conține”, „se termină cu” sau „începe cu”.

Includeți sau excludeți termenii de cuvinte cheie care se termină cu anumite cuvinte

Pentru a căuta un cuvânt cheie unic, va fi suficient un simplu filtru, dar dacă dorim să facem o căutare cu mai multe condiții, de exemplu: toate cuvintele cheie care încep cu „cumpără” și se termină cu „online”, putem folosi:

 ^buy.*online$

Acest lucru, aplicat unui magazin online precum screwfix.com, ar returna următoarele rezultate:

Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru currys.co.uk cu filtrul de expresii regulate „^buy.*online$” aplicat.

Includeți sau excludeți termeni de cuvinte cheie care încep cu anumite cuvinte

Din punctul de vedere al unui instrument de comparare, poate fi interesant să poți filtra cuvinte cheie care conțin diverse nume de marcă.

De exemplu, putem crea o expresie regulată care va grupa termenii în funcție de criteriile pe care le dorim, care în acest caz este orice termen de cuvânt cheie care începe cu orice nume de marcă inclus în paranteze:

 ^(sony|panasonic|philips|samsung).*

În mod similar, îl putem folosi pentru a le exclude:

 ^(?!(sony|panasonic|philips|samsung).*)

Includeți sau excludeți termeni de cuvinte cheie legați de anumite atribute

Să încercăm asta cu un exemplu de atribut întâlnit frecvent în multe proiecte: prețul.

Există multe interogări de căutare care fac aluzie la preț, cum ar fi: „ieftin”, „reducere”, „outlet”, „cupon”, „ofertă”, „cost redus”, „buget”, etc.

Dacă dorim să le excludem din rezultate, putem folosi următoarea expresie:

 .*(cheap|budget|offer|outlet|price).*
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru skinflint.co.uk cu filtrul regex „.*(ieftin|buget|ofertă|outlet|preț).*” aplicat.

Folosind coloanele dinamice ale tabelului, putem organiza datele în funcție de volumul de căutare în ordine descrescătoare, făcând simplu clic pe antetul coloanei.

În alte cazuri, putem folosi și alte atribute precum culori, forme, dimensiuni, țintă etc.

Includeți sau excludeți termenii cheie care conțin numele orașelor din Regatul Unit

Multe proiecte necesită o urmărire locală a prezenței. Pentru a face acest lucru, putem folosi Regex pentru a grupa provincii, regiuni, orașe, orașe etc.

În acest exemplu, vom lua lista de orașe pentru a construi o expresie regulată care va filtra termenii cheie care conțin un oraș.

 .*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*

Orice afacere de comerț electronic sau un instrument de comparație cu prezență fizică poate folosi această expresie pentru a exclude orașe și chiar pentru a adăuga cuvinte cheie de marcă sau pentru a exclude alți parametri.

 ^(?!(.*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*))

Cu toate acestea, le putem separa și în mai multe expresii, după cum se arată mai jos:

Caseta de filtrare a rezultatelor pentru tabelul de cuvinte cheie SISTRIX Toolbox. Filtrul este setat la „Cuvânt cheie” și apoi „Expresie regulată”. Regex introdus este „^(?!.*(nike|jordan|air|niketown).*?)”.

De aici încolo adăugăm Filtrul Expert pentru a indica faptul că aceste două expresii sunt de tipul „și”, în loc de tipul „sau”.

Opțiuni de tabel pentru tabelul de cuvinte cheie. Ele pot fi găsite în navigarea de sus, lângă „data”. Opțiunea „Expert Filter” este selectată.
Tabelul de cuvinte cheie în Caseta de instrumente SISTRIX pentru nike.com cu filtrele de experți activate. Iată două filtre regex combinate de booleanul AND.

Filtrarea adreselor URL cu expresii regulate

Pașii pe care trebuie să îi urmați pentru a filtra adresele URL sunt aceiași cu cei pe care i-am explorat pentru cuvintele cheie, singura diferență este că ar trebui să selectați „URL-uri” și apoi expresiile regulate.

Caseta de filtrare a rezultatelor pentru tabelul de cuvinte cheie SISTRIX Toolbox. Filtrul este setat la „URL” și apoi la „Expresie regulată”.

Includeți sau excludeți subdomenii

Acum că am învățat cum să folosim expresii regulate pentru a filtra cuvintele cheie, să găsim câteva cazuri tipice de utilizare SEO în care ar trebui să filtram adresele URL.

Iată câteva cazuri de utilizare de bază pentru analiza unui întreg domeniu și gruparea adreselor URL pe subdomenii strategice:

 (www|support)
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru apple.com cu filtrul regex „(www|support)” aplicat.

Putem folosi un filtru de excludere, de exemplu, pentru a separa subdomeniile pur tranzacționale și pentru a omite cuvintele cheie informaționale care provin din bloguri sau întrebări frecvente.

 ^^(?!.*(www|support).*?)
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru apple.com cu filtrul regex „^(?!.*(www|support).*?)” aplicat.

Includeți sau excludeți adresele URL care se termină sau nu cu /

Dacă domeniul .com al paginii de pornire se termină cu o bară oblică, expresia regex poate fi adaptată pentru a se potrivi:

 ^.*.com/$
 ^(?!(.*.com/$))

Orice URL care se termină cu /

 .*/$

De asemenea, putem folosi această regulă pentru adrese URL, pentru a ne concentra exclusiv pe adresele URL care se termină cu slash (/). Pentru a face acest lucru, introduceți domeniul în bara de căutare (1), apoi faceți clic pe URL-uri în navigare (2), adăugați un filtru (3) și alegeți filtrul URL ca „expresie regulată” (4):

1
2
3
4

Desigur, acest lucru funcționează și pentru adresele URL care nu se termină cu /

 ^(?!(.*/$))
Tabelul de adrese URL din Caseta de instrumente SISTRIX pentru apple.com cu filtrul regex URL „^(?!(.*/$))” aplicat.

Includeți sau excludeți adresele URL care conțin numere

Putem modifica sintaxa URL pentru a identifica care dintre ele conțin numere pentru a le include sau exclude:

 .*-[0-9].*
 ^(?!(.*-[0-9].*))

Dacă vrem ceva mai specific și știm că există adrese URL care se termină cu un anumit număr, le putem include sau exclude, de asemenea, după cum urmează:

 .*-[0-9]+$
 ^(?!(.*-[0-9]+$))

În acest caz, solicitarea noastră a fost de a filtra lanțurile care conțin serii de 8 numere consecutive.

 .*[0-9]{8}.html$
 ^(?!(.*[0-9]{8}.html$))

Includeți sau excludeți adrese URL într-un anumit format

Putem folosi Regex și pentru a filtra formatele URL-urilor. De exemplu, adresele URL htm sau html, precum și cele pdf.

Acest lucru este destul de ușor, deoarece putem conta pe filtre „se termină cu” sau „conține” pentru a face acest lucru.

 .*htm.?$
 .*pdf$

Pentru a exclude formatele URL dorite:

 ^(?!(.*html.?$).)
 ^(?!(.*pdf.?$).)

Putem folosi mai multe formate în cadrul aceleiași expresii, ceea ce va fi mai valoros și ne va scuti de bătălia de a concatena mai multe filtre, pentru a include:

 .*(htm|html)$
 .*(jpg|jpeg|gif|png)$

De asemenea, putem combina formate de exclus:

 ^(?!(.*(htm|html)$).)
 ^(?!(.*htm.?)$).)
 ^(?!(.*(jpg|jpeg|gif|png)$).)

Includeți sau excludeți adresele URL referitoare la piețe incorecte

Putem monitoriza adresele URL care nu ar trebui să apară în rezultatele unei piețe specifice. De exemplu, adresele URL care aparțin piețelor din SUA, mexicană sau germană care apar în rezultatele celei spaniole.

Luând ca bază următoarele instanțe URL:

Spaniola din Spania /es_es/

engleză britanică /en_gb/

engleza SUA /en_us/

Italianul Italiei /it_it/

Si asa mai departe.

Putem folosi Regex pentru a filtra numărul de adrese URL care nu aparțin pieței spaniole.

 ^(?!(.*[es]_[az].*)|(.*[az]_[es].*).)
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru hm.com cu filtrul de expresii regex „^(?!(.*[es]_[a-z].*)|(.*[a-z]_[es])” aplicat .

După cum puteți vedea, expresia permite adresa URL a paginii de pornire, unde se află selectorul de limbă.

Pentru a rafina și mai mult această expresie și pentru a lăsa pagina de pornire afară, o putem extinde după cum se arată mai jos:

 ^(?!(.*.com/$)|(.*[es]_[az].*)|(.*[az]_[es].*).)
Tabelul de cuvinte cheie din Caseta de instrumente SISTRIX pentru hm.com cu filtrul regex „^(?!(.*.com/$)|(.*[es]_[a-z].*)|(.*[a-z]_[ es])" aplicat.

rezumat

Cu parametrii furnizați în această postare, sunteți acum capabil să găsiți propriile cazuri de utilizare în care expresiile regulate vă pot fi utile și vă pot ajuta să faceți analizele SEO mai eficiente.

Puteți continua să testați și să exersați cu instrumente precum https://www.Regextester.com/ sau direct cu URL-ul, cuvintele cheie sau filtrele de fragmente SISTRIX.

Chiar dacă nu oferim suport pentru Regex, vom continua să actualizăm acest tutorial cu noi cazuri de utilizare și analize SEO care s-ar putea dovedi utile pentru dvs.