在 emacs lisp 中,我只知道函数 string-match[-p]
,但我不知道将文字字符串与字符串匹配的方法。
例如假设我有一个由某个函数生成的字符串,并且想知道另一个字符串是否包含它。在许多情况下 string-match-p
可以正常工作,但是当生成的字符串包含正则表达式语法时,它会导致意外行为,如果包含的正则表达式语法无效(例如不平衡引用),甚至可能会崩溃括号 \(
, \)
)。
- emacs lisp 中的 some 函数是否类似于
string-match-p
但不解释正则表达式语法? - 由于正则表达式匹配是在 C 中实现的,我假设匹配正确的正则表达式比某些
substring
/string=
循环更快;是否有某种方法可以将任意字符串转义为匹配该字符串且仅匹配该字符串的正则表达式?
最佳答案
你在找regexp-quote
吗?
文档说:
(regexp-quote STRING)
Return a regexp string which matches exactly STRING and nothing else.
而且我不知道你在 #2 中的假设是否正确,string=
应该更快...
关于regex - emacs lisp匹配任意字符串中的字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17175149/