Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Expression régulière [ Divers / Général ] (ismailfk)

lundi 7 juillet 2008 à 23:03:19 | Expression régulière

ismailfk

Bonjour,
je voudrais bien de remplacer cette chaine caractère "<![CDATA[]]>" par chaine vide ""
voici l'expression du pattern

Pattern p2= Pattern.compile("<![CDATA[]]>" ); mais ça marche pas en effet il n'ya de remplacement de la chaine. je pense le problème
dû au caractère '!' Est ce que vous avez une solution.
merci.


mardi 8 juillet 2008 à 09:32:32 | Re : Expression régulière

laurent1024

Bonjour
A mon avis c'est plutot les [] qui pose problème puisqu'il sont utilisé pour autorisé une liste de caractère.
Utilise
\p{\x21}pour le !
\p{\x5b}pour le [
\p{\x2d} pour le ]

Ps : dans ton cas, un simple replace (de la classe string) ne suffirait pas ?
Cdt

mardi 8 juillet 2008 à 11:36:04 | Re : Expression régulière

AlexN

les [] sont des caractères spéciaux dans les expressions régulières qui permettent de définir des classes de caractères :

[a-z] : tout caractère compris entre 'a' et 'z'
[a-zA-Z] : tout caractère compris entre 'a' et 'z' ou 'A' et 'Z'

Pour les utiliser comme caractère d'un motif, il faut utiliser le mécanisme d'échappement (éviter leur interprétation)

- \\[ pour le caractère '['
- \\] pour le caractère ']'

pareil pour les parenthèses, qui permettent de définir des groupes de capture

- \\( pour le caractère '('
- \\) pour le caractère ')'

L'utilisation des codes Unicode ou ASCII, peut marcher, mais risque de dépendre de la table de correspondance des caractères utilisée par la JVM.

Pour le point d'exclamation, je ne sais pas trop, mais tu peux aussi l'échapper, au cas où... (\\!), il est utilisé par les expressions de groupes sans captures :

(?!X)X, via zero-width negative lookahead
(?<!X)X, via zero-width negative lookbehind

Voir la classe Pattern : [ Lien ], notamment le paragraphe "Backslashes, escapes, and quoting"

Sinon, il existe un parser tout fait qui gère la lecture des groupes CDATA, pour éviter des travailler par expressions régulières : SAX en implémentant l'interface LexicalHandler (startCDATA() et endCDATA().



Cette discussion est classé dans : caractère, chaine, expression, pattern, régulière


Répondre à ce message

Sujets en rapport avec ce message

Expression régulière - Caractère erroné [ par puman ] Bonjour,Je souhaiterais trouver la position du caractère erroné dans une regex.Par exemple si je n'autorise que les caractères dans la chaine "azerty2 Suppression de la première lettre d'une chaine de caractère [ par beberto56 ] Bonjour, voici le code sur lequel je travail : b = b.replace(":", ""); if (b.equals("0000")) { b = "R"; problème avec expression régulière [ par wagdifr ] Salut , Dans mon application , je ne veux pas qu'un utilisateur arrive à saisir un montant sous cet format  : "vide" suivit "d'un point" puis "n'impor chaine de caractère [ par psychodingue ] kikou tout l'mondeJe suis en train de m'énerver face à une chaine de caractère qui me fait bien chier:j'ai ça: 1|Portal Pirata|66.111.54.190|422416,8| comparaison avec une chaine de caractère vide [ par codefree ] salut à tous j'ai une petite question de débutantje ne dois rien afficher lorsque ma variable ne contient rien (en JSP)ma variable se trouve dans une chercher une chaine de caractère ds un fichier [ par fatiez ] bonjour,svp est-ce ke je peux avoir le nom d'une fonction en jsp qui permet de chercher une chaine de caractère ds un fichiermerci Extraction nombre d'un String [ par maxinfos ] Bonjour,voilà, j'ai un String contenant une chaine de caractère du style : "123.0 145.1 120.4 18 " etc ...j'aimerai le point virgule dans une chaine de caractère. [ par juflata ] Je suis toujours sur mon probleme de point virgule je recapitule : je programme en Java, et j interroge une base de donnée Access. Dans mon fichier de ASCII: Problème de détection de la touche entrée dans une chaine de caractère [ par cedzed ] Bonjour,J'ai un problème pour détecter dans une chaine de caractère la touche "Entrée", en effet je fais un fichier CSV et mon fichier est mal découpé debutant:lecture d'une chaine de caractère [ par bygui ] BonjourJe voudrais recuperer les mots separés par une tabulation contenus dans une chaine de caractère.


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.