kdb*_*kdb 2 regex emacs elisp escaping string-matching
在emacs lisp我只知道函数string-match[-p]
,但我不知道将文字字符串与字符串匹配的方法.
例如,假设我有一个由某个函数生成的字符串,并想知道另一个字符串是否包含它.在许多情况下,string-match-p
将正常工作,但是当生成的字符串中包含正则表达式的语法,它会导致异常行为,甚至崩溃,如果包含正则表达式的语法是无效的(例如,不平衡报价括号\(
,\)
).
string-match-p
正则表达式语法相似但不解释?substring
/ string=
循环更快; 是否有一些方法可以将任意字符串转换为匹配该字符串且只匹配该字符串的正则表达式?你在找regexp-quote
?
文档说:
(regexp-quote STRING)
Return a regexp string which matches exactly STRING and nothing else.
Run Code Online (Sandbox Code Playgroud)
我不知道你在#2中的假设是正确的,string=
应该更快......