草庐IT

Javascript if 表达式求值

全部标签

ruby 正则表达式和分组

我有以下文字'some-text-here'并尝试获取'text'使用组从中提取单词。如果我使用那个表达式/some-(\w+)-here/一切正常,但如果我尝试对其应用分组/some-(?\w+)-here/它引发了一个错误Undefined(?...)sequence.我做错了什么?(ruby1.9.2)更新:我真丢人。这一切都是出于我的本能。是的,我已经使用RVM并且我的ruby​​版本开启了1.9.2。但我已经在http://rubular.com/测试了该表达式它写在页脚RubularrunsonRuby1.8.7.Ruby1.8.7和Ruby1.9.2有不同的正则表达式引擎

ruby - 当 Ruby 正则表达式不适合在线时

当我有一个很长的正则表达式时,比如cucumber步骤定义,最好的换行方式是什么?例如,我想要这样的东西:When/^Ihaveaverylongstepdefinitionhereinmystepdefinitionfile$/do...end分成两行(这行不通:)When/^Ihaveaverylongstepdefinitionherein/\/mystepdefinitionfile$/do...end2018年更新如果您专门来这里吃cucumber,请使用cucumberexpressions是正则表达式的一个很好的替代品 最佳答案

ruby - 在 Ruby 中为正则表达式模式生成字符串

在Python语言中,我找到了rstr可以为regex生成一个字符串模式。或者在Python中我们有这个方法可以返回字符串的范围:re.sre_parse.parse(pattern)#.....('range',(97,122))....但是在Ruby中我没有找到任何东西。那么如何在Ruby中为正则表达式模式生成字符串(反向正则表达式)?我想要这样的东西:"/[a-z0-9]+/".example#tvvd"/[a-z0-9]+/".example#yt"/[a-z0-9]+/".example#bgdf6"/[a-z0-9]+/".example#564fb"/[a-z0-9]+/

ruby - 如何通过正则表达式查找括号内的文本,但有一些异常(exception)?

我有一个正则表达式/^\[(text:\s*.+?\s*)\]/mi目前可以捕获以text开头的括号中的文本:。以下是它的工作示例:[text:hereismytextthatiscapturedwithinthebrackets.]现在,我想添加一个异常(exception),以便它允许某些括号,如下例所示:[text:hereismytextthatiscapturedwithinthebracketsandalsoinclude![](/some/path)]基本上,我需要它允许匹配中的![](/some/path)括号。如有任何帮助,我们将不胜感激。谢谢。更新:下面是括号内的文

ruby-on-rails - Ruby 中有效子域的正则表达式

我正在尝试验证将用作子域的用户输入字符串。规则如下:长度在1到63个字符之间(我从GoogleChrome浏览器允许在子域中使用的字符数中得出63,不确定它是否实际上是服务器指令。如果您对有效最大长度有更好的建议,我有兴趣听)可能包含a-zA-Z0-9、连字符、下划线不得以连字符或下划线开头或结尾编辑:根据下面的输入,我添加了以下内容:4.不应包含连续的连字符或下划线。例子:a=>valid0=>valid-=>notvalid_=>notvalida-=>notvalid-a=>notvalida_=>notvalid_a=>notvalidaa=>validaaa=>valida-

ruby - 正则表达式 - 匹配某些字符后的文本

我想从一些文本中抓取数据并将其转储到一个数组中。将以下文本作为示例数据:|ExampleData|Title:Thisisasampletitle|Content:Thisissamplecontent|Date:12/21/2012我目前正在使用以下正则表达式来抓取“冒号”字符后指定的数据:/((?=:).+)/不幸的是,这个正则表达式也抓取了冒号和冒号后面的空格。如何只抓取数据?此外,我不确定我这样做是否正确..但看起来好像外部括号导致匹配返回数组。这是parens的功能吗?编辑:我正在使用Rubular来测试我的正则表达式 最佳答案

ruby - 用于匹配一组大括号之间的所有单词的正则表达式

对于我认识的大多数正则表达式专家来说,这是一个简单的问题,但我正在尝试返回句子中某些大括号之间单词的所有匹配项;但是Ruby只返回一个匹配项,我不知道为什么。我正在使用这个例句:sentence=hello{name}is{thing}使用此正则表达式尝试返回“{name}”和“{thing}”:sentence[/\{(.*?)\}/]但是,Ruby只返回“{name}”。谁能解释为什么这两个词不匹配? 最佳答案 你很接近,但使用了错误的方法:sentence="hello{name}is{thing}"sentence.scan

正则表达式匹配以感叹号开头的整行

我正在尝试匹配从开始的整行文本!用正则表达式。我做了这样的事情:/(!\w+\s+\S+)/ig非常接近,但只有2个单词。我想将单词匹配到新行。我还看到句子中间有扰流板的问题。实例:http://www.rubular.com/r/MXmholsDwE 最佳答案 你只需要^!.*参见updatedregexdemo^匹配一行的开头(在Ruby中),!将匹配文字!和。*将匹配换行符以外的零个或多个字符(如果您使用的是Ruby,我假设您使用的是rubular网站)。如果您使用的不是Ruby的正则表达式,例如JS、PHP或.NET,您需要

ruby - 正则表达式:如果字符串包含空格则不匹配

我似乎无法找出仅当不包含空格时匹配字符串的正则表达式模式。例如"thishaswhitespace".match(/some_pattern/)应该返回nil但是"nowhitespace".match(/some_pattern/)应返回包含整个字符串的MatchData。任何人都可以针对上述问题提出解决方案吗? 最佳答案 在Ruby中我认为它会是/^\S*$/意思是“开始,匹配任意数量的非空白字符,结束” 关于ruby-正则表达式:如果字符串包含空格则不匹配,我们在StackOver

ruby-on-rails - 基于正则表达式的 Rails 自定义验证?

我在我的routes.rb中使用了以下正则表达式/type-in​​-something-here#A-Z,a-z,0-9,_inthemiddlebutneverstartingorendingina_#Atleast5,nomorethan500characters在route,这适用于:match':uuid'=>'room#show',:constraints=>{:uuid=>/[A-Za-z\d]([-\w]{,498}[A-Za-z\d])?/}我还想将此作为验证,以免创建无效记录。所以我在room.rb中添加了以下内容:validates_format_of:uuid,