IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Regex sous openoffice


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Regex sous openoffice
    Bonjour ,
    je debarque dans ce forum parce ce que je cherche à trier tous les textes qui sont en .doc ou .odt sur mon ordi. Ils correspondent à 15 ans d´écriture, et je ne peux pas tout vérifier à la main (ou plutot a loeil)

    Donc je recherche une expression réguliere qui pourrait enlever les doublons d´un seul coup dans chaque fichier.

    Je pose mon probleme visuellement:

    j´ai 8 phrases :
    le ciel est bleu
    les oiseaux chantent
    la mer est calme
    la mer est calme
    les oiseaux chantent
    le ciel est bleu
    les oliviers grandissent
    les oliviers grandissent
    le ciel est bleu

    et je souhaite :
    le ciel est bleu
    les oiseaux chantent
    la mer est calme
    les oliviers grandissent


    J´espere que mon exemple est parlant. En fait je veux qu´une seule occurrence de chaque phrase.
    Evidemment, mon nombre de phrases est de l´ordre de 30 000, c´est pour ca que je souhaite une regex qui puisse nettoyer mes fichiers.

    Je travaille avec open office.
    Pour le moment , jai trouvé ca:
    ^(.*)|(\r?\n\1)+$ que j´insère ds la zone Rechercher.
    Mais je ne sais pas quoi mettre ds la zone Remplacer .

    Cordialement
    Stef

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 888
    Points : 6 632
    Points
    6 632
    Par défaut
    Il n'y a pas vraiment de solution simple car tu vas devoir actionner plusieurs fois la commande "tout remplacer" jusqu'à ce qu'on te réponde "terme recherché introuvable". En effet, comme tes lignes dupliquées sont éventuellement séparées par d'autres lignes qui n'ont rien à voir et qui sont potentiellement elles aussi des lignes dupliquées, tu vas devoir faire plusieurs passages pour toutes les avoir.

    Tu peux le faire avec cette pattern:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (?m)^((.*\S)[^\S\r\n]*(?>\r?\n.*)*?\r?\n)\2[^\S\r\n]*$\r?\n?
    et il suffit de mettre $1 en remplacement.

    NB: La pattern est écrite de manière à ne pas traiter les lignes blanches et à ne pas prendre en compte les espaces en fin de ligne.

    PS: Cette méthode est une méthode de bourrin. L'idéal serait de passer par un langage de programmation X muni d'une api libreoffice.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 7
    Points
    7
    Par défaut merci !
    Merci kosmoknacki - Alors je vais deja l´essayer - le Code tel que tu me le passes - je vais voir ce que ca fait - Tu dis ue cest bourrin, ca veut dire quil peut y avoir perte de donnees dans les écrits ?

    A plus
    Stef

    Citation Envoyé par CosmoKnacki Voir le message
    Il n'y a pas vraiment de solution simple car tu vas devoir actionner plusieurs fois la commande "tout remplacer" jusqu'à ce qu'on te réponde "terme recherché introuvable". En effet, comme tes lignes dupliquées sont éventuellement séparées par d'autres lignes qui n'ont rien à voir et qui sont potentiellement elles aussi des lignes dupliquées, tu vas devoir faire plusieurs passages pour toutes les avoir.

    Tu peux le faire avec cette pattern:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (?m)^((.*\S)[^\S\r\n]*(?>\r?\n.*)*?\r?\n)\2[^\S\r\n]*$\r?\n?
    et il suffit de mettre $1 en remplacement.

    NB: La pattern est écrite de manière à ne pas traiter les lignes blanches et à ne pas prendre en compte les espaces en fin de ligne.

    PS: Cette méthode est une méthode de bourrin. L'idéal serait de passer par un langage de programmation X muni d'une api libreoffice.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Février 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2017
    Messages : 7
    Points : 7
    Points
    7
    Par défaut formule pr virer les doublons
    Salut cosmoknacki,
    Bon alors j´ai bien essayé ta pattern, mais ca selectionne trop de texte à la fois où il n´y a pas forcément de doublons en fait... Donc, je dirais que ca se rapproche de ce que je cherche, mais c´est imprécis. Heureusement, jai fait le test sur une copie de fichier...

    Est-ce que je pourrais ténvoyer un de mes textes pour que tu voies par toi- même ce que ca fait ? ? Ca serait vraiment génial que je parvienne à trouver LA formule

    dis-moi sil te plait, quand tu as le temps...

    cordialement
    Steph
    Citation Envoyé par steppi26 Voir le message
    Merci kosmoknacki - Alors je vais deja l´essayer - le Code tel que tu me le passes - je vais voir ce que ca fait - Tu dis ue cest bourrin, ca veut dire quil peut y avoir perte de donnees dans les écrits ?

    A plus
    Stef

  5. #5
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 888
    Points : 6 632
    Points
    6 632
    Par défaut
    Si tu veux tu peux poster un lien vers un de tes fichiers ou me l'envoyer par message privé. Cela dit je ne pourrai pas le regarder tout de suite car je suis en déplacement actuellement.

Discussions similaires

  1. Probleme avec REGEX sous IE
    Par Death83 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 18/07/2006, 20h02
  2. Regex sous javascript
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2006, 01h50
  3. regex sous win !
    Par seal3 dans le forum Windows
    Réponses: 1
    Dernier message: 09/11/2005, 00h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo