regular expression "not match"
V13
v13 at v13.gr
Fri Sep 5 20:55:17 EEST 2008
On Friday 05 September 2008, Giorgos Keramidas wrote:
> On Fri, 5 Sep 2008 13:02:55 +0300, Θοδωρής Λύτρας <thlytras at gmail.com>
wrote:
> > Στις Παρ 05 Σεπ 2008, ο/η Christos Ricudis έγραψε:
> >> Gia na katalabeis peripou to problhma, apanthse sthn erwthsh : Sthn
> >> periptwsh tou "katw ap ( ton ( nipthra ) yparxei ) ) ) ena sifoni",
> >> ti brisketai ENTOS twn paren8esewn kai ti brisketai EKTOS? ;)
> >
> > Good point! Μόνο που οι τελευταίες δύο παρενθέσεις βγάζουν parse
> > error... :-)
> >
> > Πάντως εγώ αυτό που ήθελα από το string μου είναι να *πεταχτεί* ότι
> > δεν εσωκλείεται σε αγκύλες, δηλ. εν προκειμένω, και αν οι παρενθέσεις
> > ήταν αγκύλες να πεταχτεί το "katw ap " και να μείνει το "( ton (
> > nipthra ) yparxei ) ) )".
>
> Αν ήταν. Δεν είναι όμως. Όπως έγραψαν ήδη 1-2 φορές οι άλλοι, δε
> μπορείς να κάνεις matching σε *grouping* χαρακτήρες _μόνο_ με regexps.
> Δηλαδή δεν υπάρχει regular expression που να μπορεί να σου πει αν είναι
> `properly balanced' οι παρενθέσεις στο παραπάνω.
>
> Αν έχεις κάποιο *άλλο* τρόπο να σπάσεις το κείμενο σε `tokens' τα
> πράγματα αλλάζουν, βέβαια, αλλά αυτό είναι άλλη ιστορία :)
+1
To antistrofo mporei panta na ginei me loop (!= ena regexp):
TOLD=''
TNEW='ab{{cd}a}ef{gh}ij'
while [ "x$TOLD" != "x$TNEW" ] ; do
TOLD="$TNEW"
TNEW=$(echo "$TOLD" | sed 's/{[^{}]*}//g')
done
echo $TNEW
Doylevei giati arxizei kai sbinei apo mesa pros ta ekso.
Tora, den exo katalabei ean theleis na kratiseis ta pio mesa, h ta pio ekso.
Sto: "asdf{asdf{fre}frew}fwr" kai sto "asdf{asdf{qafeqrfwer}freref" ti
perimeneis na pareis?
Sigoyra pantos tha xreiasteis kati psilo-anadromiko opos to parapano oti kai
an kaneis.
Efoson omos grafeis se C, giati den to kaneis apla pernontas to string
xaraktira xaraktira? Tha einai poly pio grigoro.
<<V13>>
More information about the Linux-greek-users
mailing list