Regex 正则表达式[]中的打开和关闭引号
我需要使用包含开头和结尾引号的elisp regex提取文本:-“and”(非标准字符) 文本如下所示:Regex 正则表达式[]中的打开和关闭引号,regex,emacs,elisp,Regex,Emacs,Elisp,我需要使用包含开头和结尾引号的elisp regex提取文本:-“and”(非标准字符) 文本如下所示: 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在上面显示它们 我需要获取值\t之后和下一个选项卡之前的文本。下面是我的elisp函数 (defu
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在上面显示它们
我需要获取值\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))))
由于引号的原因,这不太有效。我可以在[]中输入引号吗
\\([a-zA-Z0-9- ]+\\)
用更简单的替换它怎么样:
\\([^\t]+\\)
除非你想限制那里的字符,只允许任何非制表符。我一定很累:)谢谢。显然,接受的答案更好,但仅供参考,没有什么可以阻止你在字符替换中添加
“
。您只需使用反斜杠对其进行转义:\“
(这是对字符串读取语法而不是正则表达式进行转义)。