> I feel like I am missing something very basic here, but I just can't see it. TIA for any suggestions.
You are getting bitten by what is called "slasheritis" in the emacs-lisp world.
You have to escape backslashes from two interpretations which turns many elisp regexes into an unreadable mess filled with quadruple backslashes \\\\
This works:
#!/usr/bin/perl use strict; use warnings; use Test::More; my ($text, $search); $text = "\\x1\\x2\\x3\\x4"; $text =~ s/x2\\.+\\x4/new/; my $exp = $text; $text = "\\x1\\x2\\x3\\x4"; $search = "x2\\\\.+\\\\x4"; $text =~ s/$search/new/; my $got = $text; is( $got, $exp, "slasheritis"); done_testing;
ok 1 - slasheritis 1..1
there are more elegant solutions in Perl°, but I wanted to clarify the problem.
HTH! :)
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
°) alas not in GnuEmacs. XEmacs had "raw strings", but became abandon-ware.
In reply to Re: Regex Search String in a Variable
by LanX
in thread Regex Search String in a Variable
by roho
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |