草庐IT

regexp-safe

全部标签

ruby - Regexp.escape 不转义正斜杠?

在IRB中,如果我将类似“/domain/path”的字符串传递给Regexp.escape,它只会返回相同的字符串。我认为正斜杠应该用反斜杠转义?我在这里遗漏了什么吗? 最佳答案 此外,如果您指定其他类型的分隔符(或创建Regexp类的实例),您需要转义/字符的唯一原因是因为它是正则表达式的分隔符你不会有这个问题:/^hello\/world$/#escaping'/'justtosay:"thisisnottheend"%r"^hello/world$"#noneedforescaping'/'Regexp.new('^hell

ruby-on-rails - 无方法错误 : undefined method `safe_constantize'

我有一个简单的模型:classPost它有一个名为type的INT列当我创建记录时:Post.create(:type=>1)我得到:NoMethodError:undefinedmethod`safe_constantize'for1:Fixnum我做错了什么? 最佳答案 就像这样:在Fixnum上没有名为safe_constantize的方法。type用于SingleTableInheritance.您通常会在应用程序中将已知模型的字符串表示形式作为type值。参见railsguides

ruby - Regexp.last_match 线程安全吗?

这是我正在查看的代码:defmethod_missing(id,*args)returnself.find(Regexp.last_match(1),args[0])ifid.id2name=~/find_by_(.+)/raiseNoMethodErrorend如果我有多个线程调用Regexp.last_match会怎样?如果我有多个线程使用method_missing方法调用对象会怎样? 最佳答案 Ruby1.9.2平台文档声明调用Regexp.last_match等同于读取特殊的$~全局变量。摘自“TheRubyProgram

ruby - 如何在许多匹配项中使用 ruby​​ gsub Regexp?

我的csv文件内容在引用的文本中有双引号test,first,line,"youarea"kind"man",thanksagain,second,li,"my"boss"isyou",good我需要用“”替换每一个前面或后面没有逗号的双引号test,first,line,"youarea""kind""man",thanksagain,second,li,"my""boss""isyou",good所以"被替换为""我试过了x.gsub(/([^,])"([^,])/,"#{$1}\"\"#{$2}")但没用 最佳答案 您的正则表

ruby-on-rails - ruby 正则表达式错误 : incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)

我遇到了两个错误,都与编码有关并且都相关。我在启动WEBrick时遇到的第一个错误(技术上是警告):/Users/USERNAME/example/config/initializers/bb-ruby.rb:54:warning:invalidUnicodeProperty\P:/\:\-?\P/它所指的行是:/\:\-?\P/,这只是一些正则表达式,最终是这个block的一部分:@@tags['Razzing']=[/\:\-?\P/,'','Razzing',':P',:razzing]然后,我在解析一些字符串时也得到了以下错误(大概是由于同一行)...Encoding::Com

javascript - RegExp 不区分大小写的多词突出显示

我正在尝试突出显示关键字搜索是否正常工作。我遇到了几个问题。不区分大小写适用于第一个单词,但希望它替换为原始单词,而不是小写的搜索单词。即搜索趋势,它将趋势替换为趋势,我知道为什么,但想弄清楚如何替换回找到的词,而不是搜索到的词第二个单词不区分大小写。即搜索trendMicro与trendMicro不匹配。这是jsFiddle:http://jsfiddle.net/hh2zvjft/1/if($(".ProjectSearch").val().length>0){varsearchedText=$(".ProjectSearch").val();varwordList=searche

Javascript 清理 : The most safe way to insert possible XSS html string

目前我正在将此方法与jQuery解决方案结合使用,以从可能的XSS攻击中清除字符串。sanitize:function(str){//returnhtmlentities(str,'ENT_QUOTES');return$('').text(str).html().replace(/"/gi,'"').replace(/'/gi,''');}但我觉得它不够安全。我错过了什么吗?我在这里尝试了phpjs项目中的htmlentities:http://phpjs.org/functions/htmlentities:425/但它有点错误并返回一些额外的特殊符号。也许是旧

javascript - RegExp测试方法中的 "g"如何交替工作?

http://jsfiddle.net/bpt33/vart="";vara=["atom-required","atom-label","atom-data-type","atom-regex"];varr=/atom\-(label|required|regex|data\-type|class|is\-valid|field\-value|error)/i;functiontest(a,r){for(vari=0;i"+r.test(a[i])+"";}}test(a,r);t+="";a=["atom-required","atom-label","atom-data-type

javascript - 全局搜索时 JavaScript 中的 RegExp 错误

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭5年前。PossibleDuplicate:Javascriptregexreturningtrue..thenfalse..thentrue..etc首先,为我糟糕的英语道歉。我正在尝试测试字符串以匹配模式,所以我这样写:varstr='test';varpattern=newRegExp('te','gi');//yes,Iknowthatsimple'i'willbegoodforthis但我有这个意想不到的结果:>>>pattern.test(s

带有嵌入式 Ruby : How to safely assign a ruby value to a javascript variable 的 Javascript

我在页面的javascriptblock中有这一行:res=foo('');处理@ruby_var中有单引号的情况的最佳方法是什么?否则它会破坏JavaScript代码。 最佳答案 我想我会使用rubyJSON@ruby_var上的库,为字符串获取正确的js语法并去掉'',fex.:res=foo()(在require"json"'ing之后,不完全确定如何在页面中执行此操作,或者上述语法是否正确,因为我没有使用该模板语言)(另一方面,如果JSON曾经更改为与js不兼容,那将会中断,但由于大量代码使用eval()来评估json,我怀