小编Aar*_*onS的帖子

Perl拆分功能 - 使用重复字符作为分隔符

我想用重复的字母作为分隔符,例如,分割字符串 "123aaaa23a3"应该被分割('123', '23a3'),而"123abc4"应保持不变.
所以我尝试了这个:

@s = split /([[:alpha:]])\1+/, '123aaaa23a3';
Run Code Online (Sandbox Code Playgroud)

但这会回来'123', 'a', '23a3',这不是我想要的.现在我知道,这是因为最后'a''aaaa'由括号捕获并因此被保留下来split().但无论如何,我无法添加类似的东西,?:因为[[:alpha:]]必须捕获以供后面参考.我该如何解决这种情况?

regex perl

7
推荐指数
1
解决办法
308
查看次数

Emacs Lisp 嵌套函数 - 无效变量错误

我想做一个计时器,像这样:

(defun dumb (y)
  (defun P () (print y))
  (run-with-timer 0 5 'P))

(dumb 5)
Run Code Online (Sandbox Code Playgroud)

然后 Emacs 给了我这个错误:

Error running timer `P': (void-variable y)
Run Code Online (Sandbox Code Playgroud)

我猜问题是在该(defun P () (print y))行中,变量y没有被评估,所以当我运行时(dumb 5),函数P尝试打印y未定义的,而不是文字5。但我不知道如何解决它。任何的想法?

elisp emacs24

1
推荐指数
1
解决办法
828
查看次数

标签 统计

elisp ×1

emacs24 ×1

perl ×1

regex ×1