Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Regexp-støtte i GNU Emacs

0 views
Skip to first unread message

Morten Eriksen

unread,
May 27, 1999, 3:00:00 AM5/27/99
to

Etter å ha lest dok'en og i tillegg prøvd meg litt frem ser det ut som
om regexps i Emacs mangler støtte for intervallnotasjon. Kan noen
bekrefte at det er korrekt, evt peke på det jeg har oversett?

Morten
--
Ees a sad an' beautiful world

Erik Naggum

unread,
May 27, 1999, 3:00:00 AM5/27/99
to
* Morten Eriksen <mor...@odin.sim.no>

| Etter å ha lest dok'en og i tillegg prøvd meg litt frem ser det ut som
| om regexps i Emacs mangler støtte for intervallnotasjon. Kan noen
| bekrefte at det er korrekt, evt peke på det jeg har oversett?

hvis du mener at x{3,14} skal matche mellom 3 og 14 x'er, stemmer det at
dette ikke er tilgjengelig i Emacs regexps. imidlertid er ikke Emacs
_bare_ en regexp-maskin, som et annet "verktøy" noen bruker mot bedre
vitende, så du kan skrive litt kode som gjør mer enn regexps kan, men det
betyr også at man ikke har forsøkt å løse alt med regexps. én måte å
teste slikt på er f eks

(while (and (search-forward-regexp "foo-\\(x+\\)-bar" nil t)
(<= 3 (match-length 1) 14))
(...whatever...))

og du har naturligvis

(defun match-length (n)
"Return the length of match N in last regexp match."
(- (match-end n) (match-beginning n)))

eller kanskje DEFSUBST istedet for DEFUN hvis du bryr deg om ytelse.

#:Erik
--
@1999-07-22T00:37:33Z -- pi billion seconds since the turn of the century

0 new messages