J'essaie d'extraire les informations de l'éditeur à partir d'une chaîne. Il est disponible en différents formats tels que:php regex - extrait tout le texte avant certains caractères
John Wiley & Sons (1995), broché, 154 pages
de New York, Crowell [1963] viii, 373 p. illus. 20 cm.
New York: Bantam Books, c1990. xx, 444 p. : malade ; 27 cm.
Garden City, N.Y., Doubleday, 1963. 142 p. illus. 22 cm. [1 re éd.]
Tout ce que je veux extraire est le nom de l'éditeur, de sorte que tout ce qui suit le (ou [peut être ignoré. Je dois saisir un caractère avant cela, cependant. Et il est compliqué par le fait que par exemple trois, je voudrais saisir l'information avant la virgule, mais dans l'exemple deux, je voudrais attraper l'information avant le crochet seulement si possible et garder cette virgule si possible
Je suis prêt à travailler avec une regex qui prend tout avant ([et, et travailler avec des données imparfaites (comme obtenir seulement "New York" par exemple 2), puisque je ne voudrais pas insérer tout l'exemple 3 dans la base de données. La plupart des données ont la date entre parenthèses comme dans les exemples 1 et 2.
Merci d'avance pour vos suggestions!
+1. Probablement aussi proche que possible d'une regex. Mais pourquoi dites-vous de l'exécuter en mode multiligne? Je ne vois aucune ancre de ligne. –
@Alan: Oui, c'est un artefact d'édition. :) Je vais le sortir, j'ai juste oublié de le faire. – Tomalak
Excellent. Cela fonctionne parfaitement. L'autre réponse semble fonctionner aussi, mais celle-ci avait besoin d'être la moins ajustée pour tenir dans mon code. Merci un million! – mandel