[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug in elisp... or in elisper???
From: |
ken |
Subject: |
bug in elisp... or in elisper??? |
Date: |
Tue, 22 Mar 2011 19:37:12 -0400 |
User-agent: |
Thunderbird 2.0.0.24 (X11/20101213) |
Fellow elispers,
Something seems to be amiss in the search syntax here:
(setq aname-re-str
"<a\\([\s-\\|\n]+?\\)name=\"\\(.*?\\)\"\\([\s-\\|\n]*?\\)>\\(\\(.\\|\n\\)*?\\)</a\\(\\(
\\|\t\\|\n\\)*?\\)>" )
;;Here's a function to use the above RE and return diagnostics:
(defun test-aname-search ()
(interactive)
(re-search-forward aname-re-str)
(message "1: \"%s\" 2: \"%s\" 3: \"%s\" 4: \"%s\" 5: \"%s\" 6: \"%s\"
7: \"%s\" 8: \"%s\""
(match-string 1)
(match-string 2)
(match-string 3)
(match-string 4)
(match-string 5)
(match-string 6)
(match-string 7)
(match-string 8)))
Here are some strings to search on:
<h3><a name="thisname">Any Text--
Hot Stuff</a></h3>
<h1
class="title"
><a
name="heres-a-name"
>
the</a
></h1
>
<h3><a name="duplicate">Any Text--
Hot Crud</a></h3>
The problem is that the 5th match-string should be either empty or
whitespace. But it consistently contains the last character of of the
4th match-string. And these two matches are separated by the literal
character string, "</a"!! What's up with this?
Wishing I hadn't quit beer,
ken
--
Anything is easy if you know how to do it.
- bug in elisp... or in elisper???,
ken <=