Tag: 正则表达式

它是IP地址的有效正则表达式

这是IP地址的有效正则表达式吗? ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-5]{2}|0{2}|0{3})\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-5]{2}|0{2}|0{3})$

ruby中的正则表达式,用于具有多个模式的字符串

我有一个带有可选子串的字符串,我正在寻找/正常表达式上使用名称捕获,如果可能的话,为所有人提供单个正则表达式。 在RUBY 请帮忙, 样本字符串: string1 = bike wash #a simple task string2 = bike wash @ bike point # a simple task with location string3 = bike wash @ bike point on 13 may 11 # task with location and date string4 = bike wash @ bike point on 13 may 11 @ 10 AM […]

ruby正则表达式删除额外的\ n

我有一个格式错误的.csv文件,这是由一些额外的\n引起的。 例如: Name,Comment “Peter”,”Good morning” “Paul”,”How are you ” “Mary”,”Fine” 第二行以不需要的额外\n结尾。 如何删除所有后跟未引用双引号的尾部” (假设整个文件已经读入字符串)?

Ruby .scan方法使用regex返回空

所以给了一个像这样的字符串”\”turkey AND ham\” NOT \”roast beef\””我需要得到一个内部字符串的数组如下: [“turkey AND ham”, “roast beef”]并消除OR和,而NOT那些可能会或可能不会存在。 在Rubular的帮助下,我提出了这个正则表达式/\\[“‘]([^”‘]*)\\[“‘]/ 返回以下2组: Match 1 1. turkey AND ham Match 2 1. roast beef 但是,当我使用.scan继续获取并清空数组时。 我看了这个和其他 SOpost,还有其他几个,但无法弄清楚我哪里出错了 这是我的rails控制台的结果: => q = “\”turkey and ham\” OR \”roast beef\”” => q.scan(/\\[“‘]([^”‘]*)\\[“‘]/) => [] 期望: [“turkey AND ham”, “roast beef”] 我还要提到我吮吸正则表达式。

如何测试字符串是否只包含给定集合中的字符?

给定一个移动电话号码的字符串,我需要确保给定的字符串只包含数字0-9 , ( , ) , + , – , x和空格。 我怎么能在Ruby中做到这一点?

使用正则表达式从句子中删除以特定字母开头的单词

我不确定如何在函数中使用正则表达式,以便我可以抓住以特定字母开头的句子中的所有单词。 我知道我能做到: word =~ /^#{letter}/ 检查单词是否以字母开头,但我如何逐字逐句。 我是否需要将字符串转换为数组然后遍历每个单词或使用正则表达式更快? 我正在使用ruby,所以看起来像: matching_words = Array.new sentance.split(” “).each do |word| matching_words.push(word) if word =~ /^#{letter}/ end

如何在另一个正则表达式中使用Regexp.union?

使用Ruby 2.4。 我想创建一个正则表达式,方法是匹配任意数量的空格,后跟我的数组中出现的字母。 所以我尝试了这个 LETTERS = [“a”, “b”] # => [“a”, “b”] data = [“asdf f”, “sdfsdf x”] # => [“asdf f”, “sdfsdf x”] data.grep(/(^|[[:space:]]+)[#{Regexp.union(LETTERS)}]$/i) # => [“asdf f”, “sdfsdf x”] 但正如你所看到的,尽管我的数组中的两个标记都没有结束,但两个标记都匹配。 我如何重写我的正则表达式来解释这个问题?

提取部分电子邮件地址

鉴于: thread-reply+xxxxxxxxxxxx@mysite.com 我怎样才能得到-和+之间的内容,在这种情况下是reply ? 我尝试着: [/\-(.*?)+/,1]

RegexpError:regexp匹配器中的堆栈溢出

我有一个简单的tokenizer正则表达式的小问题: def test_tokenizer_regex_limit string = ‘a’ * 400 tokens = string.scan(/()|((?:[^<]|\))+)/) end 基本上它贯穿文本并获得[matched_tag,other_text]对。 这是一个例子: http : //rubular.com/r/f88JBjfzFh 适用于较小的套装。 如果你在ruby1.8.7下跑,它会爆炸。 1.9.2工作正常。 有任何想法如何简化/改进这个? 我的正则表达式很弱

Ruby RegExp – 匹配所有CSS选择器和指令

我正在尝试匹配下面的所有CSS选择器和指令,不包括任何注释和任何媒体查询。 a {color: red !important;} #p1 { margin-top: 20px !important } /* Client-specific styles */ .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div { line-height: 100%; } a {} @media query { a { display:none } } 我想出了以下RegEx: [a-zA-Z#.:*]{1}[^\/*]+?{[\s\S]*?} 。 这正确地匹配所有内容,但包括@media query 。 我尝试使用负面(?!.+@media.+) ,例如(?!.+@media.+)但这没有用。 如何仅提取选择器/指令,我该怎么办? 示例: https : //regex101.com/r/JmjthP/3 解 在@WiktorStribiżew的帮助下,工作解决方案如下: […]