Tag: 正则表达式

Ruby – 从字符串中删除模式

我有一个字符串模式,作为一个例子,看起来像这样: WBA – Skinny Joe vs. Hefty Hal 我想从字符串中截断模式“WBA – ”并返回“Skinny Joe vs. Hefty Hal”。

为什么Array.to_s返回括号?

对于数组,当我输入: puts array[0] ==> text 然而,当我打字 puts array[0].to_s ==> [“text”] 为什么括号和引号? 我错过了什么? ADDENDUM:我的代码看起来像这样 page = open(url) {|f| f.read } page_array = page.scan(/regex/) #pulls partial urls into an array partial_url = page_array[0].to_s full_url = base_url + partial_url #adds each partial url to a consistent base_url puts full_url 我得到的是: http://www.stackoverflow/[“questions”]

简单的正则表达式 – 用空格替换下划线

嘿,我正在写我的第一个Rails应用程序,我正在尝试用空格替换下划线形成一个传入的id名称,如下所示: 之前 :test_string 之后 :测试字符串 我怎样才能做到这一点? 对不起,如果这是一个愚蠢的问题,我对正则表达式不是很熟悉……

如何使用Ruby使用一个换行连续替换多行换行符

我有一个用ruby编写的脚本。 我需要删除任何重复的换行符(例如) \n \n \n 至 \n 我当前的尝试有效(或者更确切地说)没有使用 str.gsub!(/\n\n/, “\n”) 这让我没有改变输出。 我究竟做错了什么?

安装RDoc文档时出错:不兼容的编码正则表达式匹配

在过去一周,在一些gem安装或gem更新操作中,我收到了类似这样的错误: 错误:为sinatra-1.3.1生成文档时… MESSAGE:生成错误C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/doc/sinatra-1.3.1/rdoc/README_de_rdoc.html :不兼容的编码regexp匹配(UTF-8 regexp与IBM437字符串)(Encoding :: CompatibilityError) 类似的: 错误:为rest-client-1.6.7生成文档时… MESSAGE:生成错误C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/doc/rest-client-1.6.7/rdoc /README_rdoc.html:不兼容的编码regexp匹配(UTF-8 regexp与IBM437字符串)(Encoding :: CompatibilityError) 可能还有一个地方。 我已经读过这篇文章,但是找不到我没写的代码和我无法控制的数据的解决方案。 知道如何解决这个问题吗?

多字节字符是否会干扰正则表达式中的终结字符?

有了这个正则表达式: regex1 = /\z/ 以下字符串匹配: “hello” =~ regex1 # => 5 “こんにちは” =~ regex1 # => 5 但是这些正则表达式: regex2 = /#$/?\z/ regex3 = /\n?\z/ 他们表现出差异: “hello” =~ regex2 # => 5 “hello” =~ regex3 # => 5 “こんにちは” =~ regex2 # => nil “こんにちは” =~ regex3 # => nil 什么是干扰? 字符串编码是UTF-8,操作系统是Linux(即$/是”\n” )。 多字节字符是否会干扰$/ ? 怎么样?

Ruby 1.9正则表达式对于无上下文语法同样强大吗?

我有这个正则表达式: regex = %r{\A(? a\ga | b\gb | c)\Z}x 当我针对几个字符串测试它时,它看起来像上下文无关语法一样强大,因为它正确处理递归。 regex.match(“aaacaaa”) # => # regex.match(“aacaa”) # => # regex.match(“aabcbaa”) # => # regex.match(“aaacaa”) # => nil “ Ruby 1.9正则表达式的乐趣 ”有一个例子,他实际上安排了正则表达式的所有部分,使它看起来像一个无上下文的语法,如下所示: sentence = %r{ (? cat | dog | gerbil ){0} (? eats | drinks| generates ){0} (? water | bones | PDFs ){0} (? big […]

正则表达式使用ruby匹配句子中的主题标签

我正在尝试使用ruby on rails为一个简单的大学项目提取主题标签。 我面临的问题是标签只包含数字和没有空格的标签。 text = “Pack my #box with #5 dozen liquor.#jugs link.com/liquor#jugs #2good #first#second” 我有的正则表达式是/(?:^|\s)#(\w+)/i ( 来源 ) 这个正则表达式返回#[“box”, “5”, “2good”, “first”] 如何确保它只返回#[“box”, “2good”]并忽略其余部分,因为它们不是“真正的”主题标签?

如何用ruby以有效的方式获得单词频率?

样本输入: “I was 09809 home — Yes! yes! You was” 并输出: { ‘yes’ => 2, ‘was’ => 2, ‘i’ => 1, ‘home’ => 1, ‘you’ => 1 } 我的代码不起作用: def get_words_f(myStr) myStr=myStr.downcase.scan(/\w/).to_s; h = Hash.new(0) myStr.split.each do |w| h[w] += 1 end return h.to_a; end print get_words_f(‘I was 09809 home — Yes! yes! You was’);

使用Ruby中的regex在两个标签之间提取文本

假设我有这个包含html标签的字符串: Berlin-Treptow-Köpenick 如何在ruby中使用正则表达式来提取“ Berlin-Treptow-Köpenick ”的文本? 谢谢! 🙂