例如,我有一个字符串abcdefg. *
,如何创建一个[abcdefg\. *]
可以匹配字符串中每个字符的正则表达式?问题是可能存在特殊字符,例如.
字符串中.
一个简单而强大的解决方案是使用内置regexp-opt
函数,该函数获取固定字符串列表并返回有效的正则表达式以匹配其中任何一个.然后,您需要做的就是将原始字符串拆分为单字符段:
(regexp-opt
(mapcar #'char-to-string
(string-to-list "abcdefg. *"))) ; => "[ *.a-g]"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
305 次 |
最近记录: |