Tag: regex

Ruby中的正则表达式负面看起来似乎不起作用

制作一个参数解析器。 我想将一个字符串拆分为一个数组,其中分隔符是”, “除了以”|”开头之外 。 这意味着字符串 “foo, ba|, r, arg” 应该导致 `[“foo”, “ba|, r”, “arg”]` 我正在尝试使用这个正则表达式: (?<!\|),它在http://regexhero.net/tester/中有效,但是当我尝试 args.split(/(?<!\|), /) 在ruby中,我收到一个错误: undefined (?…) sequence: /(?<!\|), /

从SQL Server 2008解析CSV的语义正确方法是什么?

我从SQL Server 2008获得了一个CSV转储,其中包含以下行: Plumbing,196222006P,REPLACE LEAD WATER SERVICE W/1″ COPPER,1996-08-09 00:00:00 Construction,197133031B,”MORGAN SHOES” ALT,1997-05-13 00:00:00 Electrical,197135021E,”SERVICE, “OUTLETS””,1997-05-15 00:00:00 Electrical,197135021E,”SERVICE, “OUTLETS” FOOBAR”,1997-05-15 00:00:00 Construction,198120036B,”””MERITER””,””DO IT CTR””, “”NCR”” AND “”TRACE”” ALTERATION”,1998-04-30 00:00:00 parse_dbenhur很漂亮,但可以重写它以支持逗号和引号的存在吗? parse_ugly很丑陋。 # @dbenhur’s excellent answer, which works 100% for what i originally asked for SEP = /(?:,|\Z)/ QUOTED = /”([^”]*)”/ UNQUOTED = /([^,]*)/ FIELD = […]

Rails格式validation – 字母数字,但不是纯数字

什么是测试格式validation的最佳方法,让我们说一个用户名,带有字母数字的正则表达式,但不是纯粹的数字? 我一直在我的模型中使用以下validation validates :username, :format => { :with => /^[a-z0-9]+[-a-z0-9]*[a-z0-9]+$/i } 诸如’342’之类的数字用户名通过validation,我不想要。

如何指定一个适用于英语以外的欧洲语言的正则表达式字符范围?

我正在使用Ruby的正则表达式引擎。 我需要编写一个执行此操作的正则表达式 WIKI_WORD = /\b([az][\w_]+\.)?[AZ][az]+[AZ]\w*\b/ 除了英语之外,还可以使用其他欧洲语言。 我不认为字符范围[az]会覆盖德语等小写字母。

删除XML标记及其内容之间的任何内容

我需要删除XML标记之间的任何内容,尤其是空格和换行符。 例如,从以下位置删除空格和新闻线: \ n 要得到: 这不是为了手工解析XML ,而是在XML数据被工具解析之前准备好。 更具体地说,我正在使用Hpricot(Ruby)来解析XML,不幸的是我们目前仍然停留在0.6.164版本上,所以……我不知道更新的版本,但是这个版本经常会返回奇怪的节点(对象)只包含空格和换行符。 因此,我们的想法是在将XML转换为Hpricot文档之前清理它。 备选解决方案赞赏 测试的一个例子:NoMethodError:未定义的方法`children’代表“\ n”:Hpricot :: Text 这里有趣的部分不是NoMethodError,因为那很好,但是Hpricot :: Text元素只包含一个换行符,仅此而已。

关于如何使用正则表达式validation姓名和姓氏的建议

我想validation我的Ruby on Rails 3应用程序的名称和姓氏 ,所以我发布了这个问题 。 有人建议我阅读Falsehoods Programmers Believe About Names文章,现在我遇到了麻烦。 validation姓名和姓氏的正确方法是什么? 正则表达式是一种方式,但我应该小心什么? 你能给我一个概述吗?

用户输入+ Ruby + Regex?

我想给用户一个可以输入文本的文本区域。 稍后我会将输入与不同的输入进行匹配,如果匹配则将其提取出来。 流: 用户输入文本并返回文本区域 文本在文本字段中保存在数据库中 然后我使用以下提取: text_reply = text_reply.sub(/#{user.text_to_extract}/m, ”).strip 问题是它看起来像新行或管道的字符 打破它。 我们要匹配的输入可能如下所示: XXXXXX XXXXXX XXXX & XXXXX asdasd: 123312321 | dasasddsadasads http://yahoo.com 建议? Thansk

前瞻和后视概念如何在Ruby的Regex中支持这种零宽度断言概念?

我刚刚从文档中了解了Zero-Width Assertions的概念。 一些快速问题进入我的脑海 – 为什么这样的名字Zero-Width Assertions ? Look-ahead和后look-behind概念如何支持这种Zero-Width Assertions概念? 那是什么?<=s , <!s , =s , <=s – 4个符号在模式中指示? 你能帮助我在这里专注于了解实际发生的事情 我也尝试了一些微小的代码来理解逻辑,但对那些输出没有那么自信: irb(main):001:0> “foresight”.sub(/(?!s)ight/, ‘ee’) => “foresee” irb(main):002:0> “foresight”.sub(/(?=s)ight/, ‘ee’) => “foresight” irb(main):003:0> “foresight”.sub(/(? “foresee” irb(main):004:0> “foresight”.sub(/(? “foresight” 谁能帮助我在这里理解? 编辑 在这里,我尝试了两个片段,其中“Zero-Width Assertions”概念如下: irb(main):002:0> “foresight”.sub(/(?!s)ight/, ‘ee’) => “foresee” 另一个没有“零宽度断言”概念如下: irb(main):003:0> “foresight”.sub(/ight/, ‘ee’) => “foresee” 以上两者都产生相同的输出,现在内部两个正则regexp由它们自己移动以产生输出 – 你能帮我形象化吗? 谢谢

什么是Rails插件或Ruby gem来自动修复英语语法?

Facebook刚刚重新启动了评论,具有自动语法修复function。 语法filter有什么作用? 添加标点符号(例如句子末尾的句点) 修剪额外的空白自动案例单词(例如,将句子的第一个单词大写) 扩展俚语(例如,PLZ变为请) 在标点符号后添加空格(例如Hi,Cat会变成Hi,Cat) 修复常见的语法错误(例如将’不要’转换为’不要’) 什么是等效的插件或gem?

懒惰,贪婪和占有欲量词之间有什么区别?

以下量词如何区别 – 关于场景,速度等。 ? , ?? 和?+全部匹配0或1次 。 * , *? and *? and * +`全部匹配0次或更多次 。 + , +? 和++都匹配1次或更多次 。 ? , *和+都很贪心 。 ?? , *? 和+? 不愿意/懒惰 。 ?+ , *+和++是占有欲的 。 任何人都可以帮我理解这些术语的含义吗? 为什么同一个工作的每个量词有三种变体?