Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    12

    Espressioni regolari e tags XML

    mi trovereste le espressioni regolari che inseriscono dei tag XML?
    Mi spiego meglio... ho un file di testo fatto tutto così:
    Anche ANCHE#CS@#
    le LO#RD@FP#
    formiche FORMICA#S@FP#
    nel IN#E@MS#
    loro LORO#A@FP#
    piccolo PICCOLO#S@MS#
    fanno FARE#V@P3IP#
    politica POLITICA#S@FS#
    . .#@@#
    ( (#@@#
    e E#CC@#
    s' SI#PQ@FP3#
    incazzano INCAZZARE#V@P3IP#
    ) )#@@#
    1 1#N@#
    . .#@@#
    I IL#RD@MP#

    dovrei mettere dei tag XML nello spazio che intercorre tra la parola in minuscolo e quella in maiuscolo e alla fine della riga, dopo il cancelletto...come faccio la sostituzione?


    --------------------------------------------------------------------------------

  2. #2
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    una cosa tipo:

    #!/usr/bin/perl

    open (FILETXT, "<txt.txt");
    open (FILEXML, ">xml.txt");

    while (<FILETXT>) {
    chomp;
    s/^([^\s]+) (.+)$/$1 <tag>$2<\/tag>\n/;
    print FILEXML;
    }

    close (FILETXT);
    close (FILEXML);
    Imparo! Imparo! Imparo!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    12

    errore...

    Mi sono accorta di aver fatto un errore nel porre il problema...dunque, il tag non dev'essere compreso nello spazio, ma deve comprendere tutta la riga....quindi dovrebbe venire, per tutte le righe, un lavoro così:
    <token forma="Anche" lemmaPos="ANCHE#CS@#" />
    <token forma="le'" lemmaPos="LO#RD@FP#" />
    e quindi il programma dovrebbe scrivere la prima parola di ogni riga tra le virgolette dell'attributo forma, e il secondo pezzo per l'attributo lemmaPos....e l'espressione regolare dovrebbe comprendere, anche ad inizio di parola, eventuali virgolette e apici...

    <token forma="annotazione" />



    Anche ANCHE#CS@#
    le LO#RD@FP#
    formiche FORMICA#S@FP#
    nel IN#E@MS#
    loro LORO#A@FP#
    piccolo PICCOLO#S@MS#
    fanno FARE#V@P3IP#
    politica POLITICA#S@FS#
    . .#@@#
    ( (#@@#
    e E#CC@#
    s' SI#PQ@FP3#
    incazzano INCAZZARE#V@P3IP#
    ) )#@@#
    1 1#N@#
    . .#@@#
    I IL#RD@MP#


    Un'altra cosa....queste parole, insieme ad altre, sono state disambiguate lessicalmente, ma non tutte...e proprio quelle non disambiuate devono rientrare nei tag così:
    <token forma="abc" />
    perchè non hanno informazioni grammaticali...quindi servirebbe un'altra espressione regolare che però inserisca la prima parola nel tag e CANCELLI ciò che va dalla lettera maiuscola fino all'ultimo cancelletto........ VVoVe:

  4. #4
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    l'espressione regolare per ottenere quello che dici è identica, basta che ci metti l'inizio del tag prima di $1, la parte centrale tra $1 e $2 e la chiusura dopo $2.

    Riguardo alle parole non disanbiguate, non sei stata chiarissima, comunque se le stringhe differiscono in qualche maniera si può fare, se invece sono stringhe identiche e indistinguibili nella sintassi, o ti prepari un array con un eleco o non si può fare
    Imparo! Imparo! Imparo!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    12

    mmm...

    :master:
    Allora, ti faccio il copia-incolla del secondo gruppo di parole...

    Mio MIO#A@MS# MIO#P@MS# MIO#SP@NN#
    nonno NONNO#S@MS#
    , ,#@@#
    Ernesto ERNESTO#SP@FS@MS# ERNESTO#SP@NN#
    Bossi BOSSO#S@MP# BOSSI#SP@NN#
    , ,#@@#
    me ME#PQ@FS1@MS1#
    lo LO#PQ@MS3# LO#RD@MS#
    diceva DIRE#V@S3II#
    sempre SEMPRE#B@#
    : :#@@#
    “Umberto
    , ,#@@#
    la LO#RD@FS# LA#PQ@FS3# LA#S@MP@MS#
    testa TESTARE#V@S2MP@S3IP# TESTA#S@FS#
    e' ESSERE#V@S3IP#


    Ogni riga, rispetto al gruppo precedente, presenta più scelte di lemma (es: "testa" come voce del verbo "testare" o come sostantivo), ma per fortuna non mi tocca disambiguarle tutte...e mancando la parte di grammatica corretta, devo cancellare tutte le scelte...il resto dovrebbe venire così:
    <token forma="Mio" \>
    <token forma"nonno" \>
    <token forma="," \>
    <token forma="Ernesto" \>
    ....e così via...
    Mi scuso per il tempo che ti ho fatto perdere!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.