2014-05-08 14 views
6

Sto cercando un report che viene generato automaticamente. Ci sono molte sezioni e ogni sezione è separata da più "=" (segni di uguale). Sto cercando di creare un semplice script per estrarre alcuni dati in una sezione specifica. L'unica vera determinazione di quale sezione è ciò che si basa sulla quantità di segni uguali.corrispondenza esatta di espressioni regolari per più segni uguali

Come trovo solo "==" e non altro?

==== 
=== 
== 
= 

ho usato un po 'di luce regex prima e in base alla mia conoscenza molto limitata, ho potuto fare questo per i caratteri normali, come ad esempio \ba{2}\b però, cercando di fare questo con \b={2}\b non funziona.

Effettuando la ricerca come ={2} sono in grado di individuare tutti i doppi segni di uguale.

Cosa mi manca qui? Non riesco a trovare molto su questo tipo di problema che sto incontrando.

+0

'\ b' cerca solo un certo insieme di caratteri. Dipende da cosa è prima e dopo '=='. –

+0

"\ b" significa "limite di parole". '=' è un limite di parole. Prova '^ == $'. – ooga

+0

Ho legato '^ == $' e '^ = {2}' e '^ = {2} $' nessuno di questi lavori. non appena aggiungo qualcosa all'inizio non trova più nulla. – TheChefSLC

risposta

5

Questo semplice partita regexp solo ==

(?<!=)==(?!=) 

controllo lookbehind negativa non c'è = prima. Il lookahead negativo controlla che non ci sia il = dopo.

Regular expression visualization

+0

Questo ha funzionato davvero. Sono stato in grado di modificare quello che hai fornito per adattarsi bene alle mie esigenze. '(? TheChefSLC

+0

Bello e ben spiegato :) –

+0

Grazie per avermelo informato :) –

Problemi correlati