Stampa
Categoria: Articles
Visite: 5080
Stella inattivaStella inattivaStella inattivaStella inattivaStella inattiva
 

Alcuni appunti sul complicato mondo del "regex".

i seguenti appunti sono stati testati sulla ricerca estesa di notepad++

 

Cerca una stringa contenuta tra due tag

Ad esempio /* ... */ ossia tutto quello che è contenuto all'interno di /* e */

/\*(.|\r\n)*?\*/

/* è definito come /\* in quanto il backslash indica a regex che l'asterisco non è un comando ma un carattere da ricercare.

. Il punto indica qualsiasi carattere

| Il pipe o barra verticale indica una OR, un'alternanza

\r\n = CRLF ossia Return e New Line, quindi nel caso in cui il vostro testo ha solo new line rimuovere \r e lasciare solo \n

*? indica qualsiasi carattere.

 Alto esempio, se volessi cercare il tag html

bla bla

dovrei scrivere

<h1>(.|\r\n)*?</h1>

 

oppure

 

<h1>([^>]*)</h1>

 

In notepad++ funziona bene anche se la nostra ricerca interessa piu' righe in quanto c'è da mettere un segno di spunta su 'a capo'.

 

Aggiungere una stringa all'inzio e alla fine di una lista

My List
Dog
Cat
Bird

using regex the find and replace of notepad

Search for 
(.+)

Replace with
<li>\1</li>

Result
<li>Dog</li>
<li>Cat</li>
<li>Bird</li>

 

Search SQL Comments

/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/

 

Search Word Stating with

It will search all words starting with time like timelimit, timescale but not limittime or scaletime

[^\w]time

 

 

 

DISQUS - Leave your comments here