HighDots Forums  

RegEx interna

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss RegEx interna in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Dossola
 
Posts: n/a

Default RegEx interna - 04-29-2008 , 10:18 AM






posta una stringa:

<div class="ijij"> uno due <div id="2"> dijai</div> tre quattro <div
id="3"> a6s4s6</div> cinque sei </div>

esiste una regex che mi ritorni:

<div class="ijij"> uno due tre quattro cinque sei </div>

?


Reply With Quote
  #2  
Old   
Ugo
 
Posts: n/a

Default Re: RegEx interna - 05-02-2008 , 04:46 AM






Quote:
posta una stringa:

div class="ijij"> uno due <div id="2"> dijai</div> tre quattro <div
id="3"> a6s4s6</div> cinque sei </div
e supponiamo di metterla nella variabile 'str':
var str = '<div class="ijij"> uno due <div id="2"> dijai</div> tre
quattro <div id="3"> a6s4s6</div> cinque sei </div>';

Quote:
esiste una regex che mi ritorni:
div class="ijij"> uno due tre quattro cinque sei </div
?
Beh, io non sono un genio del regexp, pero' una cosa del genere dovrebbe
fare quasi quello che chiedi:

alert( str.replace( /(<div id="\d">)|(<\/div>)/gi, '' ) );

come noterai toglie anche l'ultimo </div>, io non sono capace a dirgli di
non farlo, quindi se ti serve dovrai rimetterlo;
se invece vuoi anche togliere il primo, allora puoi fare:

alert( str.replace(/(<div class="\S*">)|(<div id="\d">)|(<\/div>)/gi,'') );

(a dire il vero questo codice toglierebbe anche gli eventuali altri div con
class in maniera globale...)


Reply With Quote
  #3  
Old   
P/ero
 
Posts: n/a

Default Re: RegEx interna - 05-02-2008 , 02:03 PM



"Dossola" [by www.mynewsgate.net] on Tue, 29 Apr 2008 15:18:19 GMT wrote:

Quote:
posta una stringa:

div class="ijij"> uno due <div id="2"> dijai</div> tre quattro <div > id="3"> a6s4s6</div> cinque sei </div

esiste una regex che mi ritorni:

div class="ijij"> uno due tre quattro cinque sei </div
Questa: replace(/(.*)<.*<\/div>(.*)<([^/]+)<\/div>/gi,"$1$2"));

Funziona con qualsiasi "id" e font contenuti fra <div> e </div>,
ad eccezione della slash "/".

--
* b *
* y *
* Piero *
[ /do ut des/ ]



Reply With Quote
  #4  
Old   
P/ero
 
Posts: n/a

Default Re: RegEx interna - 05-05-2008 , 05:04 AM



"P/ero" [by Microsoft Outlook Express 6.00.2900.3138] on Fri, 2 May 2008
21:03:34 +0200 (Italian-Time) wrote:

...skipped!
Quote:
Funziona con qualsiasi "id" e font contenuti fra <div> e </div>,
ad eccezione della slash "/".
Questa è ancora meglio, perchè svincolata dal contenuto dei <div>.

replace(/(.*)<.*<\/div>(.*)<.*<\/div>([^\x7F]+)/gi,"$1$2$3"));

--
* b *
* y *
* Piero *
[ /cogito ergo sum/ ]



Reply With Quote
  #5  
Old   
Gaetano
 
Posts: n/a

Default Re: RegEx interna - 05-05-2008 , 08:51 AM



"Dossola" <19705invalid (AT) mynewsgate (DOT) net> ha scritto nel messaggio
news:2008042915181919705 (AT) mynewsgate (DOT) net...
Quote:
posta una stringa:

div class="ijij"> uno due <div id="2"> dijai</div> tre quattro <div
id="3"> a6s4s6</div> cinque sei </div

esiste una regex che mi ritorni:

div class="ijij"> uno due tre quattro cinque sei </div

?

Io cambierei metodologia, andrei di ihtmldocument e metodi vari, ho molta
roba a riguardo
se ti serve qualche consiglio, chiedi pure.
Io credo che l'uso delle regex sia troppo faticoso.


--
______________________
Gaetano
"Nel coltellino svizzero di Chuck Norris c'è McGyver"




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.