comb - 操作字符串的利器

comb 子例程

comb 子例程的定义为:

multi sub comb(Regex $matcher, Str(Cool) $input, $limit = *) returns List:D

multi method comb(Regex $matcher, $limit = *) returns List:D

用法:

comb /PATTERN/, STRING, LIMIT? # 子例程形式

STRING.comb(/PATTERN/, LIMIT?) # 方法形式

返回调用者(方法形式)的所有(或者至多 $limit 个,如果提供了的话)匹配,或者返回第二个参数(sub 形式)与 Regex 相匹配的字符串列表。

say "6 or 12".comb(/\d+/).join(", "); # 6, 12

Str 类中的 comb

multi sub comb(Str:D $matcher, Str:D $input, $limit = Inf)

multi sub comb(Regex:D $matcher, Str:D $input, $limit = Inf, Bool :$match)

multi sub comb(Int:D $size, Str:D $input, $limit = Inf)

multi method comb(Str:D $input:)

multi method comb(Str:D $input: Str:D $matcher, $limit = Inf)

multi method comb(Str:D $input: Regex:D $matcher, $limit = Inf, Bool :$match)

multi method comb(Str:D $input: Int:D $size, $limit = Inf)

在 $input 中搜索 $matcher 并返回所有匹配(默认是 Str,或者是 Match 对象,如果 $match 为真的话)的一个列表。$limit 表示至多返回 $limit 个匹配。

如果没有提供 $matcher(匹配器), 那么会返回字符串中的所有字符的列表。等价于使用了 $matcher = rx/./。

例子:

comb(/\w/, "a;b;c").perl; # ("a", "b", "c").list

comb(/\N/, "a;b;c").perl; # ("a", ";", "b", ";", "c").list

comb(/\w/, "a;b;c", 2).perl; # ("a", "b").list

comb(/\w\;\w/, "a;b;c", 2).perl; # ("a;b",).list

"123abc456def".comb(3) # (123 abc 456 def)

"123abc456def".comb(3,2); # (123 abc)

如果匹配器(matcher)是一个整数值,那么它被认为和 /. ** matcher/ 类似,但是这个快了 30 倍。

matlab里comb用法,comb - 操作字符串的利器相关推荐

  1. matlab 里try用法,matlab在整个程序(全局)中使用try-catch来报告错误

    我的matlab程序是一个多窗口程序化GUI.我已经实现了一个报告系统,所以当遇到错误时,它会调用我编写的函数generateReport.m,它发送一个带有一些日志和状态信息的电子邮件,然后继续执行 ...

  2. Matlab里evalin和assignin的用法

    原文地址:Matlab里evalin和assignin的用法作者:了凡春秋 assignin与evalin     MATLAB通常的基本工作空间是'base'空间.MATLAB在程序运行过程中,将为 ...

  3. Win64 驱动内核编程-4.内核里操作字符串

    内核里操作字符串 字符串本质上就是一段内存,之所以和内存使用分开讲,是因为内核里的字符串太有花 样了,细数下来竟然有 4 种字符串!这四种字符串,分别是:CHAR*.WCHAR*.ANSI_STRIN ...

  4. python里的rindex是什么意思_用Python操作字符串之rindex()方法的使用

    用Python操作字符串之rindex()方法的使用 rindex()方法返回所在的子str被找到的最后一个索引,可选择限制搜索的字符串string[beg:end] 如果没有这样的索引存在,抛出一个 ...

  5. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  6. matlab二进制操作,[转载]Matlab二进制类型数据相关操作

    Matlab逻辑运算 &: 逻辑与 A&B 返回值:当A.B中元素均为非零元素是,返回1,否则,为0,还可表示成and(a,b); | :逻辑或 A|B.还可以表示成or(A,B). ...

  7. matlab二进制定义,MATLAB二进制类型数据相关操作

    Matlab逻辑运算 &:逻辑与 A&B 返回值:当A.B中元素均为非零元素是,返回1,否则,为0,还可表示成and(a,b); |:逻辑或 A|B.还可以表示成or(A,B). ~ ...

  8. semilogx 多条曲线_怎么让两个指数在一个坐标,matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢...

    Q1:matlab里怎样一个坐标上显示多个曲线,而且横轴要用指数形式的?谢谢 多个纵轴数组分别是y1,y2,y3,横轴数组为x 命令为: semilogx(x,y1,x,y2,x,y3) 完了 Q2: ...

  9. Matlab图像形态学处理—开操作和闭操作

    昨晚分享了图像形态学处理-开操作和闭操作的基本原理,同时基于Python的OpenCV实现了对应的图像处理,本文分享一下基于Matlab的图像形态学处理-开操作和闭操作. 传送门:Python Ope ...

  10. PHP中的__toString方法(实现JS里的链式操作)

    _toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...

最新文章

  1. 用C语言编写万年历6,C语言编写万年历
  2. 第五章 Spring进阶-注解方式实现AOP(1)
  3. 你可能不需要固定词表:一种与词表无关的组合式词向量方法
  4. GDCM:检查二个dicom文件的BigEndian错误的测试程序
  5. 设计模式在Netty中的应用-观察者模式源码举例
  6. 《现代语音信号处理》(胡航著)第1-6章简介
  7. python学习day2:类与对象
  8. 一直跳出来 visual_六天时间排出来肾结石,这种经历再也不要了
  9. torch.Tensor和torch.tensor有什么区别?
  10. [mark] first shellcode
  11. 今日头条推荐算法原理全文详解之六
  12. Swift,任重而道远!
  13. VLC-2.2.6命令行帮助文件
  14. mysql如何恢复单表_MySQL如何恢复单库或单表,以及可能遇到的坑
  15. 网闸、防火墙、保垒机
  16. mysql 制定索引_使用use index优化sql查询
  17. 到底是人的位置影响了行为呢?还是行为影响了位置?--头等舱的旅客往往是在看书
  18. 非计算机专业,可以学好编程吗?
  19. 集成电路设计开源EDA软件yosys详解1:工具安装
  20. Python数据结构与算法分析 第四章 递归 贪心 动态规划bp 记忆化搜索

热门文章

  1. RobotStudio 示教器编程:MoveC指令
  2. 软件测试周刊(第50期):归结起来,焦虑的原因就两条:想同时做很多事情,又想立即看到效果。
  3. html5人脸拼图,力荐10大拼图App 玩转拼图分享美好生活
  4. The end tag is unbalanced异常
  5. mysql sphinx_Sphinx的安装和使用(仅学习)
  6. Win10你需要提供管理员权限才能复制到此文件
  7. wordpress启动_使用Wumblr在WordPress中启动微博
  8. matlab 信道容量的迭代算法,实验二一般信道容量迭代算法详解.ppt
  9. linux下安装asm数据库,Linux下ASM实例的安装
  10. SAP Exchange Rate 外币汇率的设置