`
- 浏览:
62215 次
- 来自:
...
-
ruby 代码
-
- puts a=Regexp.new('^s*[a-z]')
- b=/^s*[a-z]/
- c=%r{^\s*[a-z]}
-
- name="Fats Waller"
- puts name=~/a/
- name=~/z/
- puts /a/=~name
-
- def show_regexp(a,re)
- if a=~re
- "#{$`}<<#{$&}>>#{$'}" #$`得到匹配之前的那部分字符串,$&得到匹配那部分字符串,$'得到匹配之后那部分字符串
- else
- "no match"
- end
- end
-
-
-
-
- puts show_regexp('very interesting',/t/)
- puts show_regexp('yes|no',/\|/)
- puts show_regexp('yes (no)',/\(no\)/)
-
-
- puts show_regexp("this is\nthe time",/^the/)
- puts show_regexp("this is\nthe time",/is$/)
- puts show_regexp("this is\nthe time",/\Athis/)
- puts show_regexp("this is\nthe time",/\Athe/)
- puts "sso good".gsub!(/\z/,"p")
- puts "sso".gsub!(/.$/,"p")
- puts "sos".gsub!(/.\z/,"a")
-
-
- puts show_regexp("this is\nthe time",/\bis/)
- puts show_regexp("this is\nthe time",/\Bis/)
-
-
-
-
- puts show_regexp("Price $12.",/[aeiou]/)
- puts show_regexp("Price $12.",/[\s]/)
- puts show_regexp("Price $12.",/[[:digit:]]/)
- puts show_regexp("Price $12.",/[[:space:]]/)
- puts show_regexp("Price $12.",/[[:punct:]aeiou]/)
-
- a='see [Design Patterns-page 123]'
- puts show_regexp(a,/[A-Fa-f]/)
- puts show_regexp(a,/[0-9][0-9]/)
- puts show_regexp(a,/[\]]/)
- puts show_regexp(a,/[-]/)
- puts show_regexp(a,/[^a-z]/)
- puts show_regexp(a,/[^a-z\s]/)
-
- puts show_regexp(a,/\d/)
-
-
- a='It costs $12.'
- puts show_regexp(a,/c.s/)
- puts show_regexp(a,/./)
- puts show_regexp(a,/\./)
-
-
-
-
-
-
-
-
-
-
- a="the moon is made of cheese"
- puts show_regexp(a,/\w+/)
- puts show_regexp(a,/\s.*\s/)
- puts show_regexp(a,/\s.*?\s/)
- puts show_regexp(a,/[aeiou]{2,99}/)
- puts show_regexp(a,/mo?o/)
-
-
-
- a="red ball blue sky"
- puts show_regexp(a,/d|e/)
- puts show_regexp(a,/al|lu/)
- puts show_regexp(a,/red ball|angry sky/)
-
- puts show_regexp('banana',/an*/)
- puts show_regexp('banana',/(an)*/)
- puts show_regexp('banana',/(an)+/)
- puts show_regexp(a,/blue|red/)
- puts show_regexp(a,/(blue|red) \w+/)
- puts show_regexp(a,/red|blue \w+/)
- puts show_regexp(a,/red (ball|angry) sky/)
-
- a='the red angry sky'
- puts show_regexp(a,/red (ball|angry) sky/)
-
-
- "12:50am"=~/(\d\d):(\d\d)(..)/
- puts "Hour is #$1,minute #$2"
- "12:50am"=~/((\d\d):(\d\d))(..)/
- puts "Time is #$1"
- puts "Hour is #$2,minute #$3"
- puts "AM/PM is #$4"
-
-
- puts show_regexp('He said "Hello"',/(\w)\1/)
- puts show_regexp('Mississipi',/(\w+)\1/)
-
-
- puts show_regexp('He said "Hello"',/(["']).*?\1/)
- puts show_regexp("He said 'Hello'",/(["']).*?\1/)
-
-
-
- a="the quick brown fox"
- puts a.sub(/[aeiou]/,'*')
- puts a.gsub(/[aeiou]/,'*')
- puts a.sub(/\s\S+/,'')
- puts a.gsub(/\s\S+/,'')
-
- a="the quick brown fox"
- puts a.sub(/^./){|match|match.upcase}
- puts a.gsub(/[aeiou]/){|vowel|vowel.upcase}
-
- def mixed_case(name)
- name.gsub(/\b\w/){|first|first.upcase}
- end
-
-
- puts mixed_case("fats waller")
- puts "fred:smith".sub(/(\w+):(\w+)/,'\2,\1')
- puts "nercpyitno".gsub(/(.)(.)/,'\2\1')
-
-
- str='a\b\c'
- puts str.gsub(/\\/,'\\\\\\\\')
- puts str.gsub(/\\/,'\&\&')
- puts str.gsub(/\\/){'\\\\'}
-
-
-
- re=/(\d+):(\d+)/
- md=re.match("Time: 12:34am")
- puts md[0]
- puts md[1]
- puts md[2]
- puts md.pre_match
- puts md.post_match
-
-
- re=/(\d+):(\d+)/
- md1=re.match("Time: 12:34am")
- md2=re.match("Time: 10:30pm")
- puts [$1,$2]
- $~=md1
- puts [$1,$2]
分享到:
- 2007-10-10 18:39
- 浏览 1943
- 评论(9)
- 论坛回复 / 浏览 (10 / 8967)
- 查看更多
Global site tag (gtag.js) - Google Analytics
相关推荐
### 正则表达式学习笔记详解 正则表达式(Regular Expression)是一种强大的文本匹配工具,广泛应用于数据处理、文本搜索、格式验证等场景。以下是对给定文件中提到的各种正则表达式的详细解析,旨在帮助读者深入...
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....
### Java正则表达式基础知识与应用 #### 一、引言 正则表达式是一种强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。Java中的正则表达式支持广泛的标准和特性,是进行文本处理任务的理想...
这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...
JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割文本。它们在编程中扮演着不可或缺的角色,尤其在验证用户输入、提取数据、格式化内容等方面。以下是对正则表达式的基础知识和常见用法的详细...
好东西才与大家分享!这是博客园一位老师的正则表达式教学笔记,很精炼的阐述,看了你一定不后悔……
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串中的特定模式。在编程语言中,正则表达式广泛应用于数据验证、文本分析...通过不断的实践和学习,你可以创建更复杂的正则表达式来满足各种需求。
在"基于java的开发源码-多线程反射泛型及正则表达式学习笔记和源码.zip"这个压缩包中,包含了三个关键的Java编程概念:多线程、反射和泛型,以及正则表达式。下面我们将详细探讨这些知识点。 1. **多线程**:多线程...
本文档是小小明个人笔记,为学习和使用正则表达式提供了一个系统的资源。 Python正则表达式全套笔记v0.3 1.1 作者简介 小小明是数据处理专家,擅长解决各种复杂数据处理问题,并且提供了个人笔记,涵盖了正则...
学习正则表达式能够帮助我们更好地处理复杂文本需求,如验证输入信息、查找和替换特定模式的文本,以及在大量日志和数据中提取关键信息。 正则表达式的语法结构通常是用斜杠 `/` 包裹模式,并可以加上可选的修饰符...
这个压缩包包含的“java多线程反射泛型及正则表达式学习笔记和源码”正是针对这些关键知识点的学习资料。 首先,我们来详细探讨多线程。在Java中,多线程允许程序同时执行多个不同的任务,提高了程序的并发性和效率...
本文主要基于北风网的正则表达式学习笔记,详细讲解了正则表达式的基本概念、常用模式以及在JavaScript中的应用。 首先,身份证号码的验证是一个常见的应用场景。例如,`/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/` ...