0 0

请赐教:关于Ruby中的String类的一个对象的运算5

a="hellow there"
a[/[aeiou](.)\1/]   #结果是"ell"
a[/[aeiou](.)\1/,0]        "ell"
a[/[aeiou](.)\1/,1]         "l"
a[/[aeiou](.)\1/,2]       nil

a[/(..)e/]         "the"
a[/(..)e/,1]       "th"      
a["lo"]        "lo"
a[/(..)e/]     nil


为什么是这种结果,哪位仁兄能作出详细的解释,先谢谢了
  
2009年2月06日 15:34

3个答案 按时间排序 按投票排序

0 0

有那麼難明嗎?未明只表示不熟regular expression。

a="hellow there"

str[other_str] => new_str or nil
str含other_str的話,有則回other_str,無則回 nil
a["lo"] # => "lo"

str[regexp] => new_str or nil
str用regexp尋配對,配則回regexp相合的一段,無則回nil
a[/[aeiou](.)\1/]   # => "ell"
a[/(..)e/]  # => "the"

str[regexp, fixnum] => new_str or nil
str用regexp尋配對,配則回regexp相合的第fixnum個一段,無則回nil

a[/[aeiou](.)\1/,0] # => "ell"
a[/[aeiou](.)\1/,1] # => "l"
a[/[aeiou](.)\1/,2] # => nil


a[/(..)e/,1] # => "th"     
a[/(..)e/,2] # => nil

至於regular expression怎用,可參攷:
http://www.ruby-doc.org/docs/UsersGuide/rg/regexp.html

2009年2月12日 14:13
0 0

a="hellow there"
a[/[aeiou](.)\1/]   #结果是"ell"
a[/[aeiou](.)\1/,0]        "ell"
a[/[aeiou](.)\1/,1]         "l"
a[/[aeiou](.)\1/,2]       nil  #MatchData里没有group 2,当然返回nil

a[/(..)e/]         "the"
a[/(..)e/,1]       "th"      
a["lo"]        "lo"
a[/(..)e/]     nil  #这个地方写错了吧?我试了是"the"啊

2009年2月10日 08:04
0 0

String#[] (regex)会返回与指定的正则表达式相匹配的字符串部分
"asdf"[/sd/] #=>"sd"
"asdf"[/^sd/] #=>nil
"asdf"[/d(.)/,1]#=>"f"

2009年2月06日 22:39

相关推荐

    来自于力扣的算法题的快排解法的一个 新手的解法,欢迎赐教

    给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 来源:力扣(LeetCode) 题目链接: ...

    后台模版--自适应,请大家赐教

    在"后台模版--自适应,请大家赐教(X-admin.zip)"这个压缩包中,包含了一个名为"X-admin"的后台模版项目。 首先,我们来了解一下什么是后台模版。后台模版是用于构建网站或应用后台管理系统的一种预设计框架,它为...

    导出devexpress插件的GridControl控件中GridView表格中的数据到excel

    使用说明: 只能导出导出devexpress插件的GridControl控件中GridView表格中的数据,表格中有什么数据导出什么数据,列顺序也不变。... 只是我初学C#的一个总结,代码没有进行优化,有不足之处还请各位高手赐教,谢谢

    仓库总在变,用Excel软件做的仓库平面规划图,请赐教.xls

    仓库总在变,用Excel软件做的仓库平面规划图,请赐教.xls

    软件框架-@Profile@Configuration设置环境配置类控制类实现将要激活的环境从8080端口激活并在控制台输出

    2.这个程序具体的内容我忘了,只知道使用@Profile@Configuration@RestController@Autowired(设置环境配置类控制类)等方法写的,具体实现的功能就是新建一些.yml和.java以及接口类文件,实现在.yml文件中配置指定要...

    编译原理---简易C编译器 生成汇编语言代码

    快要过去的一个学期里,学了编译原理,课程大作业写简易C编译器。能实现加减乘除四则运算,取模赋值运算,逻辑表达式运算,复合语句,if,while,for语句~支持输入输出,最终生成汇编语言代码。移位运算没写。 调试...

    MFC的能实现四则运算的简易计算器

    或许存在个别问题,若有,欢迎指出!但我一直没想出如何加上括号运算的代码,所以大家若有想法,愿不惜赐教

    礼仪用语:不同情境中的礼貌用语.doc

    在人际交往中,礼仪用语起着至关重要的...不同的场合、不同的对象,需要选择相应的礼貌用语,这需要我们在实际生活中不断学习和实践。记住,礼仪用语的精髓在于真诚和恰当,只有真正关心他人,才能真正做到有礼有节。

    Hour 2 编写第一个C程序

    这是一本几年前翻译的C语言教程。 如有错漏,敬请赐教。 Email: noyic@hotmail.com

    DDVCL 0.01 测试版本

    最近想对Jedi的Direct函数库进行一下VCL组件式的封装,这个是初步测试的代码,简单封装了DirectDraw和DirectDrawSurface对象以及一个列举D3D显示设备的控件。区别于一般基于Delphi的DirectDraw应用范例的主要特点是...

    贪吃蛇c源代码--有小bug请高手赐教

    学了个简单的贪吃蛇游戏,比一般的稍微加了个加速,减速的食物,不过有时会出现食物无法出现或者等待时间过长, 原因不详,网上分享下也希望大家多指教!QQ:64529041

    vue数组对象排序的实现代码

    最近在看vue的教学视频,正好学到的数组对象排序方法,在这跟大家分享一下,如有不足之处,请赐教。 普通数组的排序 先看代码: <h1>v-for实例 <li v-for=number>{{number}} [removed] new Vue({ ...

    高考语言表达——得体公开课定稿PPT课件.pptx

    【高考语言表达——得体公开课定稿PPT课件】是一个专门针对高考中语言表达得体部分的专业教学资源。在高考中,语言表达得体的试题频繁出现,且与现实生活的紧密联系使得这类题目越来越重要,它不仅考察考生的语言...

    中华礼仪用语大全汇总.pdf

    6. 请问、赐教:求人解答用请问,请人指点用赐教。 7. 高见、拙见:赞人见解用高见,自身意见用拙见。 8. 拜访、光临:看望别人用拜访,宾客来到用光临。 9. 奉陪、失陪:陪伴朋友用奉陪,中途先走用失陪。 10. ...

    情人节源码分享可以哄女友的 小白没技术含量不喜勿喷望大神赐教

    标题中的“情人节源码分享”指的是一个专门为情人节设计的网页源码,这通常是指一个包含互动元素、浪漫设计和可能的个性化表达的网页模板。这种源码可能是用HTML、CSS和JavaScript等前端技术编写的,用于创建一个...

    评委计分器源码vb2019编写

    【描述】中的“请大家赐教”表明作者可能是一个初学者或者开发者,他或她分享了这个项目并期待同行或者社区的反馈和建议,以提高代码的质量和功能。 【标签】列出了四个关键点: 1. **评委**:这是软件的主要使用者...

    MathPad 大演草

    本软件中还提供函数求解功能,对于学生而言,也是一个功能强大的计算工具。 本软件完全免费,如果需要源代码,请和我联系。 本软件用VB.net制作,因此要运行本软件,请先安装运行环境.Net Frame Work 2005。 为了...

    浙大oj试题1045代码

    根据给定的信息,我们可以分析出该段代码是用于解决浙江大学在线评测系统(简称浙大OJ)中的一个特定问题——即题目编号为1045的问题。从代码本身出发,结合描述部分:“自己写的代码,本人不才,如果发现错误,希望...

    mfc 实现校园导航

    描述 "自己写的一个用MFC实现的校园导航,大家赐教" 表明这是一个个人项目,开发者已经使用MFC编写了一个初步的校园导航系统,并希望得到社区的反馈和指导。这可能是一个学生项目,也可能是一位爱好者的作品,用于...

    常见易错字词、趣味语文题1.ppt

    【标题】和【描述】中提到的文件是一个关于语文学习的资料,包含了常见的易错字词、趣味语文题目以及成语和敬辞谦辞的应用。以下是根据文件内容整理的相关知识点: 1. 成语填空: - 胆子最大:胆大包天 - 看得最...

Global site tag (gtag.js) - Google Analytics