首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CL-PPCRE Unicode属性

CL-PPCRE Unicode属性
EN

Stack Overflow用户
提问于 2015-03-25 22:41:47
回答 2查看 158关注 0票数 0

我正在尝试使用CL-PPCRE库来解决这个简单的Perl代码:

代码语言:javascript
复制
if (/\p{Space}/){
  print "This string has some spaces\n";
}

我是CL-PPCRE的新手,并尝试过:

代码语言:javascript
复制
   (scan "\\p{\\#Space}" "The String has some white spaces")

;我收到一个错误,说属性#/Space不存在。

我怎样才能执行一个等价的函数?

EN

回答 2

Stack Overflow用户

发布于 2015-03-26 00:03:38

perl regexp /\p{Space}/匹配的不仅仅是“”。cf \p{} docs

一种方法是只使用\s表达式:

代码语言:javascript
复制
(cl-ppcre:scan "\\s" (format nil "hi~Cthere" #\return))

要使用整个unicode Space类,请执行以下操作:

代码语言:javascript
复制
(ql:quickload :cl-unicode)
(cl-ppcre:scan "\\p{Space}" (format nil "hi~Cthere" #\return))

请参阅CL-PPCRE文档中的Unicode properties

票数 4
EN

Stack Overflow用户

发布于 2015-03-25 22:58:54

cl-ppcre库不要求您(至少在空间上)使用任何特殊常量。

代码语言:javascript
复制
(if (cl-ppcre:scan " " "alle meine entchen")
    (FORMAT T "Does have spaces~%")
    (FORMAT T "Does not have spaces~%"))
> Does have spaces

(if (cl-ppcre:scan " " "allemeineentchen")
    (FORMAT T "Does have spaces~%")
    (FORMAT T "Does not have spaces~%"))
> Does not have spaces

就能达到目的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29258819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档