(Regexp Replace): Further update text for new replacement operators.
This commit is contained in:
parent
c2fb587857
commit
074f1b8b8f
1 changed files with 17 additions and 16 deletions
|
@ -1038,20 +1038,21 @@ text to replace with, you must enter @samp{\\}.
|
|||
You can also use Lisp expressions to calculate parts of the
|
||||
replacement string. To do this, write @samp{\,} followed by the
|
||||
expression in the replacement string. Each replacement calculates the
|
||||
value of the expression, which ought to be a string, and uses it in
|
||||
value of the expression and converts it to text without quoting (if
|
||||
it's a string, this means using the string's contents), and uses it in
|
||||
the replacement string in place of the expression itself. If the
|
||||
expression is a symbol, one space in the replacement string after the
|
||||
symbol name counts as part of the symbol name, so the value replaces
|
||||
them both.
|
||||
symbol name goes with the symbol name, so the value replaces them
|
||||
both.
|
||||
|
||||
Inside such an expression, @samp{\&} and @samp{\@var{n}} used as
|
||||
subexpressions refer respectively to the entire match as a string, and
|
||||
to a submatch as a string. @var{n} may exceed 9 here, and the value
|
||||
of @samp{\@var{n}} is @code{nil} if subexpression @var{n} did not
|
||||
match. You can also use @samp{\#&} and @samp{\#@var{n}} refer to
|
||||
those matches converted to numbers (this is valid when the match or
|
||||
submatch has the form of a number). @samp{\#} stands for the number
|
||||
of already-completed replacements.
|
||||
Inside such an expression, you can use some special sequences.
|
||||
@samp{\&} and @samp{\@var{n}} refer here, as usual, to the entire
|
||||
match as a string, and to a submatch as a string. @var{n} may be
|
||||
multiple digits, and the value of @samp{\@var{n}} is @code{nil} if
|
||||
subexpression @var{n} did not match. You can also use @samp{\#&} and
|
||||
@samp{\#@var{n}} to refer to those matches as numbers (this is valid
|
||||
when the match or submatch has the form of a numeral). @samp{\#} here
|
||||
too stands for the number of already-completed replacements.
|
||||
|
||||
Repeating our example to exchange @samp{x} and @samp{y}, we can thus
|
||||
do it also this way:
|
||||
|
@ -1061,9 +1062,9 @@ M-x replace-regexp @key{RET} \(x\)\|y @key{RET}
|
|||
\,(if \1 "y" "x") @key{RET}
|
||||
@end example
|
||||
|
||||
The @code{format} function (@pxref{Formatting Strings,,,elisp, GNU
|
||||
Emacs Lisp Reference Manual}) comes in handy for computing replacement
|
||||
strings for @samp{\,}. For example, to add consecutively numbered
|
||||
For computing replacement strings for @samp{\,}, the @code{format}
|
||||
function is often useful (@pxref{Formatting Strings,,,elisp, GNU Emacs
|
||||
Lisp Reference Manual}). For example, to add consecutively numbered
|
||||
strings like @samp{ABC00042} to columns 73 @w{to 80} (unless they are
|
||||
already occupied), you can use
|
||||
|
||||
|
@ -1074,8 +1075,8 @@ M-x replace-regexp @key{RET} ^.\@{0,72\@}$ @key{RET}
|
|||
|
||||
If you want to enter part of the replacement string by hand each
|
||||
time, use @samp{\?} in the replacement string. Each replacement will
|
||||
enter a recursive edit, with point at the position where the @samp{\?}
|
||||
was. For example,
|
||||
ask you to edit the replacement string in the minibuffer, putting
|
||||
point where the @samp{\?} was. For example,
|
||||
|
||||
@example
|
||||
M-x replace-regexp @key{RET} \footnote@{ @key{RET}
|
||||
|
|
Loading…
Add table
Reference in a new issue