如何使用正则表达式排除单词?

时间:2010-08-31 20:25:43

标签: regex

任何人都可以帮我解决一个排除内部单词的正则表达式: title = "EXCLUDE ANYTHING HERE"

2 个答案:

答案 0 :(得分:1)

好吧,对于“正则表达式”,你不会排除任何东西。您可以使用编程语言或编辑器(例如vi或sed)来匹配此正则表达式并删除匹配的文本。

我理解的是。你想在“title =”之后删除所有大写字母吗?

使用ruby你可以做类似的事情

a = ["title=AAA","title=bbb","title=CCC"]
x = a.collect {|l| l  unless l.split('=')[1] =~ /^[A-Z]+$/ }.compact

在x,您可以根据需要选择“title = bbb”。

答案 1 :(得分:0)

更短的:

a = ["title=AAA","title=bbb","title=CCC"]
x = a.delete_if { |s| s.match(/=[A-Z]+$/) }

更多Rubyish *:

titles = ["title=AAA","title=bbb","title=CCC"]
titles.reject! do |item|
  item.ends_with_caps?
end

class String
  def ends_with_caps?
    self.match /[A-Z]+$/
  end
end

*讽刺/夸张