0

我有需要使用 elisp 正则表达式提取的文本,其中包含开始和结束引号:- ”和“(不是标准的“字符)

例如,文本如下所示:

name\tmy-name\t\t
value\ttext here is what I need “inside quotes” text text text\t\t
otherattrib\tvala\t\t
otherattrib2\tvalb\t\t

缓冲区中有真正的选项卡 - 我使用 \t 在上面显示它们。

我需要在 value\t 之后和下一个选项卡之前获取文本。下面是我的 elisp 函数。

(defun find-text()
  (interactive) 
  (goto-char (point-min))
  (when (re-search-forward "value\t\\([a-zA-Z0-9- ]+\\)")
    (goto-char (point-max))
    (insert "\n\n\ndefault=")
    (insert (match-string 1))))

由于引号,这不太有效。我可以在 [ ] 中输入引号吗?

4

1 回答 1

2
\\([a-zA-Z0-9- ]+\\)

如何用更简单的替换它:

\\([^\t]+\\)

除非你想限制那里的字符,否则只允许任何非制表符。

于 2013-04-12T18:26:11.123 回答