Guida di MicroStation CONNECT Edition

Espressioni regolari per la ricerca di testo

Le espressioni regolari sono modelli che possono essere utilizzati per cercare forme variabili di testo. Senza le espressioni regolari, è necessario conoscere la frase esatta da cercare; le espressioni regolari consentono invece di trovare tutto il testo che risponde a un certo schema. Anche se nella finestra di dialogo Trova/sostituisci è stata attivata la casella di controllo Espressioni regolari, è comunque possibile cercare stringhe di frasi esatte. In questo caso, è necessario eliminare dalla frase gli operatori dell’espressione regolare (vedere la sezione Sintassi).

Sintassi delle espressioni regolari per la ricerca di testo

Generalmente, le espressioni regolari sono composte da una parte di testo uniforme e da alcune restrizioni o caratteri jolly per la parte restante del testo. Se si desidera utilizzare uno di questi operatori come testo letterale, è necessario precedere il carattere con una barra rovesciata.

Di seguito viene riportato un elenco di espressioni regolari utilizzate soltanto per la ricerca di testo. Durante la ricerca di testo, è possibile utilizzare le espressioni regolari che vengono usate per tutti i tipi di operazioni.

Carattere Descrizione
[ ] I caratteri all'interno delle parentesi quadre descrivono una classe di caratteri o un carattere jolly personalizzato.
* Il carattere (o la classe di caratteri) precedente può essere ripetuto zero volte.
+ Il carattere (o la classe di caratteri) precedente deve essere ripetuto almeno una volta.
- Se utilizzato all'interno di una classe di caratteri, rappresenta un intervallo di caratteri.

Esempi di espressioni regolari per la ricerca di testo

  1. Trovare una linea che inizi con la lettera "A" e termini con "2":
    ^A.*2$
      “^A” La linea deve iniziare con la lettera A
      “.*” Zero o più caratteri (qualsiasi carattere)
      “2$” La linea deve terminare con un 2
    Campioni:
      Abc-12 Trovato
      A2 Trovato
      1Abc-12 Non trovato (la linea non inizia con la lettera A)
      Abc-123 Non trovato (la linea non termina con 2)
  2. Trovare del testo che contenga la parola "Piano", seguita da uno spazio opzionale e da un numero di 4 cifre:
    Piano *:d:d:d:d
      “Piano” La parola letterale "Piano" deve trovarsi a inizio frase
      “ *” (carattere spazio seguito da *) Zero o più caratteri spazio
      “:d:d:d:d” Quattro cifre qualsiasi
    Campioni:
      Mio piano1234 Trovato
      Piano 1234 Trovato
      Mio Piano 123a Non trovato (Piano è seguito solo da 3 cifre)
  3. Trovare del testo che contenga i caratteri ' [# ' ma non sia seguito da 1, 2, 3, 4 o B:
    \[#[^1-4B]
      “\[” Il carattere letterale [ (deve essere preceduto da un carattere di escape)
      “#” Il carattere letterale # (non deve essere preceduto da un carattere di escape, non è un operatore)
      “[^” Inizia una classe di caratteri, e indica qualsiasi carattere eccetto quelli descritti nella classe
      “1-4B” Intervallo 1-4 (1, 2, 3, 4) e B
      “]” Conclude la classe di caratteri
    Campioni
      Parte [#9778C] Trovato
      Gruppo [#554] Trovato
      Parte #977 Non trovato (# non è preceduto da [)
      Parte [#155A] Non trovato (# è seguito da 1)
  4. Trovare una linea che inizi con Dettaglio, seguita da uno o più spazi, seguiti da uno o più caratteri alfanumerici e da una Z:
    ^Dettaglio +: n+Z
      “^Dettaglio” La linea deve iniziare con Dettaglio
      “ +” (carattere spazio seguito da +) Uno o più caratteri spazio
      “:n+” Uno o più caratteri alfanumerici ASCII
      “Z” Il carattere letterale Z
    Campioni:
      Dettaglio 143Z Trovato
      Dettaglio AABZ Trovato
      Plotta A Dettaglio 3Z Non trovato (la linea non inizia con Dettaglio)
  5. Trovare valori di valuta nella forma $#.###,##:
    \$[0-9,]+\.:d:d
      \$ La corrispondenza deve iniziare con il simbolo del dollaro
      [0-9,]+ Corrisponde a una o più cifre o punti
      \. Seguito da una virgola decimale
      :d:d Seguito esattamente da due cifre
    Campioni:
      $12.34 Trovato
      $12,123.00 Trovato
      12,435.00 Non trovato (la linea non inizia con il simbolo $)
      $12 Non trovato (non termina con una virgola decimale e due cifre)