ruby 正则表达式 使用正负预查

简介:
例1:如果字符串New World后是Symphony 或 Dictionary 字符串New World将匹配, 但第三个单词不是匹配内容的一部分:
s1= "New World Dictionary" 
s2= "New World Symphony" 
s3= "New World Order" 
reg=/New World (?=Dictionary|Symphony)/ 
m1=reg.match(s1) 
m2=reg.match(s2) 
m3=reg.match(s3) 
p m1[0] 
p m2[0] 
p m3
"New World "
"New World "
nil
负预查示例:
s1= "New World Dictionary"  
s2= "New World Symphony"  
s3= "New World Order"  
reg2=/New World(?! Symphony)/ 
m1=reg2.match(s1) 
m2=reg2.match(s2) 
m3=reg2.match(s3) 
m1.to_a 
m2.to_a 
m3.to_a 
puts m1, m2, m3
New World
nil
New World
在上例中,仅当字符串New World 后面没有Symohony时才匹配




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/68526,如需转载请自行联系原作者
目录
相关文章
|
10月前
|
Ruby
|
7月前
|
Ruby
探索深究Ruby 正则表达式
【8月更文挑战第30天】
47 1
|
7月前
|
开发者 Ruby
Ruby正则表达式的奥秘:如何用简单的语法构建强大的文本匹配与处理工具?
【8月更文挑战第31天】正则表达式是文本匹配的强大工具,通过简单模式即可实现复杂文本处理。作为动态、面向对象的语言,Ruby提供了全面的正则表达式支持,涵盖创建、匹配、替换及分割等功能。本文通过示例代码介绍如何在Ruby中使用正则表达式进行文本匹配,并分享了编写正则表达式的最佳实践,帮助开发者提升文本处理效率与准确性,更好地利用这一工具构建高效系统。
52 0
|
10月前
|
Ruby
|
10月前
|
Ruby
|
Ruby 索引
【Ruby on Rails全栈课程】2.5 正则表达式
1、正则表达式(Regexp) 正则表达式是对字符串操作的公式,用来过滤字符串或者从字符串中匹配出我们需要的字符,在各类语言中都有应用
136 0
【Ruby on Rails全栈课程】2.5 正则表达式
Rubular: 基于 Web 的 Ruby 正则表达式编辑器
当我们在 Ruby 项目中使用正则表达式时,如果想要即刻看到该正则的匹配结果,似乎除了跑代码外别无他法。假如匹配有误,我们必须回头重新修订正则表达式。如此周而复始,不仅效率低下,而且费时不少。如果我们利用Rubular 这个基于 Web 的 Ruby正则表达式编辑器,则问题迎刃而解。
537 0
Rubular: 基于 Web 的 Ruby 正则表达式编辑器
ruby的正则表达式操作(1)
ruby语言中用~/字符/来匹配表达式,$`得到匹配之前的那部分字符串,$'得到匹配之后的字符串,$&得到匹配到的字符串,如下所示 def show_regexp(a,re)    if a=~re        puts "#{$`}#{$'}"    else        puts "no ...
721 0
|
Ruby 移动开发
ruby的正则表达式操作(2)
ruby的正则表达式中的字符类缩写 字符      是         含义 \d                [0-9]                   数字字符 \D                [^0-9]                     除数字之外的任何字符 \s  ...
705 0