Les expressions régulières en ASP?? - Programmation
Marsh Posté le 11-06-2001 à 13:08:58
en vbscript je crois qu'il existe l'object regexp
lmais si quelqu'un a compris sonutilistation ca m'aiderai bcp
merci
Marsh Posté le 12-06-2001 à 09:42:53
voci un exemple de ce que j'ai fait recement...
je recupere le chiffre dans un nom de varaible NOMX (NOM3 par exemple) et je le transforme en Valx+1 (val4 par exemple):
'tranformation des NOMX en VALX+1, si NomX existe
'gération du profil, je cherche les numero de [0-12]
Profil="\6|3|2|1|0|7|8|9|10|11|12|4|5|\ "
'nouvel objet expresseion reguliere
Set regEx = New RegExp
regEx.Pattern = profil
regEx.IgnoreCase = True
regEx.Global = True
'execute la recherche
Set Matches = regEx.Execute(strval)
'on recherhce toutes les occurences (mais ne peut y en avoir qu'une!)
For each Match in Matches
occurence=Match.value
Next
ModifNOMX = occurence
JE pense qu'apres tu pourras chercher avec le nom des methodes utilisé...
Si non en javscript je connais plus.........
@+
Marsh Posté le 12-06-2001 à 09:55:01
grosmethos a écrit a écrit : gération du profil, je cherche les numero de [0-12] Profil="\6|3|2|1|0|7|8|9|10|11|12|4|5|\ " |
Je trouve que ton profil n'est pas très bien écrit, enfin je ne sais pas peut-être qu'en ASP c'est limité. Je te propose plutôt un profil comme celui-ci :
Profil="/^([0-9]|1[0-2])$/"
Vous n'utilisez pas les Méta-caractères de fin ($) et de début de ligne (^) en ASP ??
Qu'est-ce que tu en penses ?
Marsh Posté le 12-06-2001 à 10:08:00
merci
mais mon pb aussi c'est que quand je déclare
regex= new RegExp ca marche pas ca me marque syntaxe incorrect
Marsh Posté le 12-06-2001 à 10:17:40
Je dis peut-être une bétise (je connais vraiment pas bien l'ASP) mais, la syntaxe que tu utilises c'est pas du VBscript, c'est Javascript NON ?
Si j'ai souvenir, il faut lui déclarer le langage utilisé. Tu l'as bien déclaré ???
J'espère que j'ai pas dis trop une trop grosse connerie...
Marsh Posté le 12-06-2001 à 10:24:14
j'ai oublié de mettre le set
set RegEx= new RegExp
j'ai pris ca du site
http://www.microsoft.com/france/sc [...] TOCAlt.htm
Marsh Posté le 12-06-2001 à 10:34:06
Citation : Je dis peut-être une bétise (je connais vraiment pas bien l'ASP) mais, la syntaxe que tu utilises c'est pas du VBscript, c'est Javascript NON ? |
NANA raison à 200%!
Un petit tomik ASp ca vous branche?
Marsh Posté le 12-06-2001 à 10:36:10
Bha oui, voilà j'ai dis une grosse connerie, c'était du VBscript !!!
T'as essayé en Jscript ??
Il donne aussi des exemples dans le MSDN...
Marsh Posté le 12-06-2001 à 10:36:12
<%@LANGUAGE="VBSCRIPT"%>
DA!
ou
<%@LANGUAGE="JSCRIPT"%>
da!
[edit]--Message édité par dalida--[/edit]
Marsh Posté le 12-06-2001 à 10:37:53
Citation : Si j'ai souvenir, il faut lui déclarer le langage utilisé. Tu l'as bien déclaré ??? |
parlais de ca!
Marsh Posté le 12-06-2001 à 10:39:35
bin en javascript came parraissai plus compliqué et comme je suis en vb pratiquement tt le temps je me suis dis que j'allais le faire en vb
mais si vous savez comment on le fais en javascript je suis preneur
si vous avez des codes qui marches e que vous pouvez me montrer ou m'envoyer ca m'aiderais bcp
Marsh Posté le 12-06-2001 à 10:42:10
vi dalida tt ce que tu me dis j'ai fais déja,
en faite je réalise un forum , un peu comme celui que nous utilsons en ce moment , je l'ai déja bien amoché mais je rencontre quelques difficultés comme celle présente en ce moment
Marsh Posté le 12-06-2001 à 11:19:47
Voilà un petit exemple en Javascript (en Jscript ça doit aussi fonctionner...) :
<script language="Javascript">
texte = new String (":lurl:http://www.tonadresse.com:\lurl:" );
p = /(:lurl(.*)(:lurl/
resultat = texte.match(p);
document.write("Expression : <a href=\"" + resultat[2] + "\">" + resultat[2] + "</a>" );
</script>
A oui, j'ai remplacer par car url doit être un terme réservé.
@+
Marsh Posté le 12-06-2001 à 11:21:10
je te remercie bcp fly
j'essaye et je te tiens au courant
Marsh Posté le 12-06-2001 à 11:41:35
bon c'est pt moi qui par en vrille ou qui suis lourd mais ca marche pas
fly le dernier document.write n'affiche rien
j'ai essayé d'afficher que resultat[2] ca marche pas non plus
on dirai que l'expression régulière ds p ne marche pas ou alors y a un pb de suyntaxe ou de reconnaissance
Marsh Posté le 12-06-2001 à 11:43:00
Mon morceau de code en Vbscript ( et c'est bien du vbscript) marche tres bien chez moi!!
Il est vrai que mon profil et pas top, mais je me suis plus orienté sur les mise en place de l'expressions reguliere que sur le profil...
Il est evident que l'on peut optimiser....
SI tu as bien declarer ton language de script y a pas de raison que ça marche...
Tu auras le même proble en Jscript, car c'est la même chose juste la syntaxe que change!!
Marsh Posté le 12-06-2001 à 11:48:38
saxgard a écrit a écrit : bon c'est pt moi qui par en vrille ou qui suis lourd mais ca marche pas fly le dernier document.write n'affiche rien j'ai essayé d'afficher que resultat[2] ca marche pas non plus on dirai que l'expression régulière ds p ne marche pas ou alors y a un pb de suyntaxe ou de reconnaissance |
Ouaouh !!! Bha là, j'sais pas, l'exemple fonctionne pourtant...
Marsh Posté le 12-06-2001 à 12:35:57
bon bin je vous remercie , je vais ssayé de voir ec qui cloche
c'est sympas de votre part de vous etes attarder sur mon pb
@++
NB: si vous avez des remarques balancez tjrs n'hesitez pas
Marsh Posté le 12-06-2001 à 13:20:27
fly LM a écrit a écrit : Voilà un petit exemple en Javascript (en Jscript ça doit aussi fonctionner...) : <script language="Javascript"> texte = new String (":lurl:http://www.tonadresse.com:\lurl:" ); p = /(:lurl(.*)(:lurl/ resultat = texte.match(p); document.write("Expression : <a href=\"" + resultat[2] + "\">" + resultat[2] + "</a>" ); </script> |
fly pour ton exemple , ca me marque l'erreur suivante : resultat.2 n'est pas un objet
j'ai essayé de declaré rsultat en array marche pas
et en String marche pas non plus
please HELP ME
<SCRIPT LANGUAGE="JavaScript">
texte = new String(":lurl:http://www.tonadresse.com:\lurl:" );
resultat = new Array;
var dimension=resultat.length;
document.write(dimension); <----la ca passe
p = "/( )(.*)( )/";
resultat = texte.match(p);
dimension=resultat.length; <---- la ca passe plus
document.write("Expression : <a href=\"" + resultat[2] + "\">" + resultat[2] + "</a>" );
</Script>
et le pb est le meme si je déclare résultat en string
Marsh Posté le 12-06-2001 à 13:21:36
tiens un version jscript :
/* si la saisie contient un élmment séparateur .,-_/\ */
//generation du profil
profil = /\.|,|\/|-|:|_|\\| /
//recherche d'une occurence dans la chaine date
resultat = valdate.search(profil);
if (resultat>0)
{
//recuperation de l'occurence
delimiteur=valdate.match(profil);
Donc je cherche dans ma variable texte:valdate si j'ai un / ou un . ou un espace etc etc...
Si resultat est positif alors je recupere l'ocurence et je lui affecte delimiteur comme nom.
donc si mon valdate est de type 12/12/2001 alors delimiteur contient /
si valdate c'est 12.12.2001 alors delimiteur contient .
Voila à toi d'adapter ton code ......
@+
Marsh Posté le 12-06-2001 à 13:28:16
rectification par desespoire j'ai aussi essayé
p = "/( )(.*)( )/";
et
p = /( )(.*)( )/;
mais ca change rien
Marsh Posté le 12-06-2001 à 15:48:01
grosmethos si je met
<% @ LANGUAGE="VBScript" lcid="1036" %>
<%
'tranformation des NOMX en VALX+1, si NomX existe
'gération du profil, je cherche les numero de [0-12]
strval=":lurl:http://www.adresse.com:\lurl:"
Profil="/(:lurl(.*)(:\lurl/"
'nouvel objet expresseion reguliere
Set regEx = new RegExp
regEx.Pattern = profil
regEx.IgnoreCase = True
regEx.Global=True
'execute la recherche
Set Matches = regEx.Execute(strval)
'on recherhce toutes les occurences (mais ne peut y en avoir qu'une!)
For each Match in Matches
occurence=Match.value
Next
ModifNOMX = occurence
%>
il me dis
Microsoft VBScript compilation error '800a03ea'
Syntax error
/CRT/Analytique/test.asp, line 19
Set regEx = new RegExp
dc sans rentrer ds les détail du profile ou autre qui mon été donné par fly ds un exemple en javascript.
J'aimerais vraiment savoir pourquoi il ne connait pas la déclaration de regexp
Grace a fly j'ai bien une solution en javascript mais je ne sais pas comment m'en servir en asp pour que je puisse m'en servir coté serveur , étant donné que j'ai déja déclaré
<% @ LANGUAGE="VBScript%>
je ne peut pas mettre ds la meme page
<% @ LANGUAGE="JavaScript%>
et la mettre sous forme
<SCRIPT LANGUAGE="JavaScript">
code....
</SCRIPT>
ce qiui ici serai au niveau du cleint non??? a moin que je dises des conneries!!!!
Marsh Posté le 12-06-2001 à 15:57:09
En fait il faut adapter le code:
ModifNOMX = occurence ModifNomx c'est le nom de ma fonction donc tu dois enlever ce truc, fait un response.write("occurence"&occurence) à la place, la tu vera si tu as trouver quelque chose dans l'expression reguliere;
PAr contre il faut bien que tu fasses la difference entre un script cote client et cote serveur.
Soit tu fait la recherche sur le poste client avec ton expression reguliere, soit le serveur avec <%%>
Sur le client si tu bosses avec IE peut importe utilise soit Javascript soit Vbscript, par contre netscape n'utilise que javascript!
Sur le serveur c'est toi qui choisi en deffinissant le language utilisé...
Tu peux donc inserer sur ta page autant de script client que de script serveur
le cleint en javascript
<script language=JavaSCript>
</script>
pour le serveur :
<%%> suffisent
ou alors
<script language=Vbscript runat server>
</script>
Dans le code suivant tu as tout de melangé du javascript avec le onclick des variables serveur avec les %% et du bon vieux html
<%if (couleur="#ffffe0" ) then%>
<a href="#" onclick="window.open('info.asp?AID=<%=objrs_detail("AID" )%>&NID=<%=objrs_detail("NID" )%>','','toolbar=no, height=200,width=400');">
<img src="loupe.gif" width="35" height="35" border="0" alt="Information complémentaires">
</a>
<%else%>
<a href="#" onclick="window.open('info.asp?AID=<%=objrs_detail("AID" )%>&NID=<%=objrs_detail("NID" )%>','','toolbar=no, height=200,width=400');">
<img src="louper.gif" width="35" height="35" border="0" alt="Information complémentaires">
</a>
<%End if%>
Est ce plus clair pour toi ainsi....
PAr contre le code que je t'ai passé marche trés bien aussi bien celui en javascript qu'en vbscript!!
Marsh Posté le 12-06-2001 à 16:05:46
bon oki merci je vais voir ca , mais je pense que j'auarais encore mon pb sur la declaration de regexp,
mais je te tiens au courant
Marsh Posté le 12-06-2001 à 16:09:15
par aussi mon pb est que si j'insere le code entre
<%%> il me dis qu'il y a un pb de déclaration , alors que moi je veux le mettre dedans ces balises
sinon entre<script ...> et </script> ca al'air de marcher !!!
je sais que je suis lourd mais ca me turlupine vraiment lol
Marsh Posté le 12-06-2001 à 16:11:24
car comme on le dis bien tt les 2 <script...> c'est coté client et <% %> c'est coté serveur et moi j'ai besoin de faire mes regexp coté serveur
je sais pas si je suis clair ou en faite si c moi qui n'est pas vraiment compris l'asp et les scripts , e qui m'étonnerais pas lol
@+++
Marsh Posté le 12-06-2001 à 16:18:00
cote serveur alors c'est <%%>
Peut etre faut il prendre le probleme en amont!
Est ce que tes pages asp sont bien interpretées!!
si tu fait un <%response.write("coucou" )%> tu a bien coucou qui s'affiche sur ton ecran...
Si oui dans ce cas c'est vbscript que tu utilises, et ton interpreteur marche correctement...
Si tu as le droit, et si c'est pas trop long envoie moi ta page asp par email...
je vais regarder si je trouve quelque chose d'anormale!!
Marsh Posté le 12-06-2001 à 16:42:34
verifie ton mail
j'ai copier du mauvais code sur le forum, c'est mieux dans le fichier joint du mail...
Marsh Posté le 13-06-2001 à 09:48:12
grosmethos je te remercie encore de ton aide , mais j'ai tjrs le meme pb de declaration dur RegExp
je commence sérieusement a me demander si il n'y apas un pb au niveau du serveur !! mais bon pt que c aviens d'autre chose , un détail qui nous aurait échappé
Marsh Posté le 13-06-2001 à 10:36:46
salut
Bon je viens de regarder à nouveau dans le msdn et j'ai pas d'erreur de plus je viens à nouveau de faire tourner mon code, et j'ai pas d'erreur, il faut donc chercher ailleur...
Comme je te disais par mail, essaye de te mettre dans MES conditions avec un chaine de caracteres differentes et MON profil...
Si dans ce cas ça marche toujours pas, c'est que ça vient d'ailleurs....comme dirait Mulder
Tiens moi au courant...
JE vais essayer un truc chez moi et je t'en parle suivant le resultat!!
Marsh Posté le 13-06-2001 à 12:36:39
acmarche pas la je usis entrein d'essayer d'autre piste , je commence vraiment a saturé grave , c'est vraiment de la merde l'ASP on peu le dire lol
Marsh Posté le 13-06-2001 à 14:04:58
c'est donc un probleme plus generale...
Mais est ce que tu arrives a interpreter du code asp sur tes pages!!!!
un response.wirte("coucou" ) t'affiche t'il coucou!!
Marsh Posté le 13-06-2001 à 14:08:12
ui ui ca y a pas de pb , je usi entrein de faire un forum comme celui ci , et je l'ai deja presque fini , dc j'en conclue que l'interprétation des pages asp se passe bien
Marsh Posté le 11-06-2001 à 12:36:34
comment peut-on traiter les expressions régulières en ASP vbscript ou javascript et peut on vraiment les traités?
sinon quel est la solution
merci