LaTex Workshop in Vsc: Sostituisci testo con Regex mantenendo stringa trovata

  • Creatore
    Topic
  • #122000
    Up
    0
    Down
    ::


    Buone cose a tutti.
    Nel risolvere il problema trattato in questo topic volendo apportare delle modifiche seguendo le indicazioni del post #122559

    Mi sono imbattuto in una problematica che ho si risolto procedendo in un altro modo ma che avrei voluto affrontare come segue:

    Sostitiusci la stringa che trovi con la medesima stringa, aggiungendo delle graffe al suo interno:

    Trova stringa con RegEx

    Trova le stringhe che iniziano con il comando \item tenendo conto che ci possono essere qualche tab

    `(?<=(^\t+\\item\s)).*`

    la stringa pare essere sufficientemente corretta e mi trova le occorrenze desiderate:

    \item \cac Mio padre sapeva il fatto suo!
    \item \flo Infatti solo il suo fatto sapeva!
    \item \cac Signora Flora io ti proibisco…
    \item \flo Cosa ? Cosa mi vuoi proibire tesoro!
    \item \cac Prima di tutto di chiamarmi tesoro!

    ora vorrei sostituire le occorrenze con esse stesse ma precedute e seguita da parentesi graffa:

    \item {\cac Mio padre sapeva il fatto suo! }
    \item {\flo Infatti solo il suo fatto sapeva! }
    \item {\cac Signora Flora io ti proibisco… }
    \item {\flo Cosa ? Cosa mi vuoi proibire tesoro! }
    \item {\cac Prima di tutto di chiamarmi tesoro! }

    E’ tanto che non ho a che fare con le regex ma mi pareva che fosse possibile utilizzare delel variabili nelal stringa di ricerca e sostituzione per faqr si che si potesse utilizzare la stringa trovata come base per la sostituuzione.

Visualizzazione 0 filoni di risposte
  • Autore
    Risposte
    • #122001
      Up
      0
      Down
      ::


      Perdonatemi ma ho risolto.
      Mi è appena tornato in mente:

      Si usa il dollaro:

      Si mette tra parentesi l’ occorrenza da utilizzare:

      (?<=(^\t+\\item\s))(.*)

      E, nella casella di sostituzione si utilizza il dollaro per identificare la variabile in cui tale occorrenza è stata memorizzata:

      {$2}

      “2” perchè, per ocme ho scritto io la regex, le occorrenze memorizzate sono due:

      $1 = ^\t+\\item\s
      $2 = .*

      in quersto modo viene cancellata la stringa trovata:
      viene scritta una parentesi graffa aperta
      aggiunta la stringa memorizzata in $2 e scritto la parentesi graffa chiusa.

      … gongolo 😛

Visualizzazione 0 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top