Tag: 正则表达式

允许Az,0-9和中间潇洒的正则表达式,永远不会结束?

我正在努力创建一个满足以下条件的ruby正则表达式: 支持的: AZ,az,0-9,在中间破折号,但从不以破折号开始或结束。 至少5个,不超过500个字符 到目前为止我有: [0-9a-z]{5,500} 有关如何更新以符合上述标准的任何建议? 谢谢

Tokenize(lex?parse?)正则表达式

使用Ruby我想要一个Regexp对象(或一个表示有效正则表达式的字符串;您的选择)并对其进行标记以便我可以操作某些部分。 具体来说,我想采用这样的正则表达式/字符串: regex = /var (\w+) = ‘([^’]+)’;/ parts = [“foo”,”bar”] 并创建一个替换字符串,用数组中的文字替换每个捕获: “var foo = ‘bar’;” 一种天真的基于正则表达式的解析正则表达式的方法,例如: i = -1 result = regex.source.gsub(/\([^)]+\)/){ parts[i+=1] } …对于嵌套捕获组或非捕获组或在字符类中具有括号的正则表达式等内容将失败。 因此,我希望将正则表达式正确地分解为语义上有效的部分。 是否有适用于Ruby的现有Regex解析器? 是否有(恐怖的恐怖)已知正则表达式与正则表达式完全匹配? 有没有我找不到的gem? 这个问题的动机是希望找到一个简洁的答案来解决这个问题 。

正则表达式以查找字符串中的第一个字母

考虑这个示例字符串: mystr =”1. moody” 我想将mystr中出现的第一个字母mystr 。 我在Ruby中尝试这个正则表达式,但仍然返回mystr (喜怒无常)中的所有字母而不是字母m。 puts mystr.scan(/[a-zA-Z]{1}/) 任何帮助赞赏!

相当于Ruby中的Python的findall()方法?

我需要从列表中的模糊列表中提取所有MP3标题。 使用Python,这对我很有用: import re for i in re.compile(‘mmc.+?mp3’).findall(open(“tracklist.txt”).read()): print i 我怎么能在Ruby中做到这一点?

正则表达式中悬空的元字符是什么?

在Ruby中,我写了一个简单的正则表达式来找到第一个{ : txt.gsub! /^.*{/, ‘{‘ 每当我运行这个时,为了我的目的而过去的所有事情都可以正常工作,但是有一个轻微的错误,它沿着WARNING: Dangling metacharacter detected.方向读取WARNING: Dangling metacharacter detected. 具体是什么悬挂元字符,以及如何将我的正则表达式更改为尽可能明确和有效?

如何创建多行正则表达式?

我正在尝试匹配块中的所有文本: group :development do gem ‘test’ end 在上面的上下文中,我想返回”gem ‘test'” 。 我正在使用的是: /(?<=group :development do)(.*)(?=end)/m 为什么不起作用?

如何从文本中删除url?

我想帮助解析Ruby中的文本。 鉴于: @BreakingNews:台风莫拉克击中台湾,中国疏散数千人http://news.bnonews.com/u4z3 我想删除所有的超链接,返回纯文本。 @BreakingNews: Typhoon Morakot hits Taiwan, China evacuates thousands

正则表达式 – 替换除URL / URI之外的单词

为Web应用程序编写全球化模块,我需要一个regexp来替换一个单词的所有实例与另一个单词(翻译) – 除了 – 在URL / URI中找到的单词。 编辑:我忘了提到我使用Ruby,所以我不能使用’Lookbehind’

如何在一个被Rails逃脱的正则表达式中取消?

我正在尝试将正则表达式存储在数据库中,但它们正在被rails转义。 例如, \w*\s\/\s \\w*\\s\\/\\s在数据库中和检索时变为\\w*\\s\\/\\s 。 我正在尝试将它们与mystring.sub(/#{regex_variable} /,”)一起使用,但是转义的正则表达式并不是所谓的匹配。 我们最好解决这个问题,以便正则表达式作为输入? 谢谢!

正则表达式替换时区偏移量

我有一个字符串表示带时区的日期/时间。 我想将时区部分更改为UTC,即+00:00 请帮我写regext以匹配+05:30 , -03:30等,并用+00:00替换它 我试过”2012-04-17T15:40+05:30″.gsub!(/\+\d\d:\d\d/, ‘+00:00’)这给了我预期的结果,但我不知道我知道如何匹配-5:30 我很感激,如果有人帮我写了正与我同时工作的正则表达式2012-04-17T15:40+05:30和2012-04-17T15:40-05:30 谢谢,阿米特帕特尔