begin process at 2012 02 13 04:21:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Expression régulière


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Expression régulière

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

Membre Club
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ée 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 trouve présence d'un caractère dans une chaine [ par domxaline ] bonjour je ecris ce prg suivante import java.util.Scanner; public class moi { public static void main (String [] args) { String chaine="Je suis e pattern match [ par youssefali ] Bonjour, Je vais utiliser la méthode de pattern matching pour chercher une séquence de caractère dans une chaine, prenant cet exemple : La séquence à Recherche d'une séquence de caractère avec pattern matching [ par youssefali ] Bonjour, Je vais utiliser la méthode de pattern matching pour chercher une séquence de caractère dans une chaine, prenant cet exemple : La séquence expression régulière en java [ par raline ] salut est ce que quelqu'un peut m'aider à retrouver l'expression régulière qui correspond à "2.2.2.1/32 et 2.2.2.2/32" ? merci pour l'aide Automate et expression régulière [ par scorpioneagle ] SVP, Aidez moi je suis à la travail d'un programme qui calcul une expression régulière à partir d'un automate, et même j'ai pas trouvé le point de dé contenu de chaine de caractère [ par ramy04804001 ] Salut, Je veut faire une teste sur le contenu d'une chaine de caractère voici une petite exemple : Zidane est un jouer mondial . // je veut tester s problème de contenu d'une chaine de caractère [ par ramy04804001 ] Salut, je veut s'avoir si le contenu d'une chaine de caractère est déjà existe je fait le code suivant : CODE if (typeDecision.contains(date.getDate jeux de chaine [ par ramy04804001 ] Salut, je veut tester si une chaine de caractère chaine1 contient une chaine de caractère chaine2 quelle méthode je peut l'utiliser . Merci. probleme d'affichage [ par ramy04804001 ] Salut, je veut faire une affichage d'une chaine de caractère mais j'ai pas put Voici mon code: Etudiant ch =new Etudiant (); String chemin= ch.getTx


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,340 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales