草庐IT

php - 正则表达式仅从文本中提取 IPv4 地址

全部标签

ruby - 有没有办法查看 Sequel 表达式将生成的原始 SQL?

假设我有一个像这样的Sequel表达式:db.select(:id).from(:some_table).where(:foo=>5)有没有办法获取这将生成的SQL字符串(即"SELECTidFROMsome_tableWHEREfoo=5")?我注意到对上述表达式的结果调用inspect或to_s包括生成的SQL,但不确定如何直接访问它。以及不返回数据集的Sequel表达式如何,例如:db.from(:some_table).update(:foo=>5)是否可以在执行之前从中看到SQL? 最佳答案 你可以在数据集上调用sql:d

ruby - 获取公共(public)(远程)IP 地址

我想知道是否有一种简单的方法可以使用Ruby获取计算机的公共(public)IP地址。 最佳答案 Akamai提供了一个“我的IP是什么”页面,您可以获取该页面:require'open-uri'remote_ip=open('http://whatismyip.akamai.com').read不过,有一些替代方案可以做同样的事情:http://whatismyip.akamai.comhttp://ipecho.net/plainhttp://icanhazip.comhttp://ident.mehttp://bot.what

ruby,使用正则表达式查找两个字符串之间的内容

使用Ruby+正则表达式,给定:starting-middle+31313131313@mysite.com我只想获取:31313131313即starting-middle+和mysite.com之间是什么这是我目前所拥有的:to='starting-middle+31313131313@mysite.com'to.split(/\+/@mysite.com.*/).first.strip 最佳答案 在第一个+和第一个@之间:to[/\+(.*?)@/,1]在第一个+和最后一个@之间:to[/\+(.*)@/,1]在最后一个+和最

ruby - 正则表达式匹配 string1,除非前面有 string2

使用Ruby,我如何使用单个正则表达式来匹配“xyyayxy+y”中所有出现的“y”且前面没有x(y,ay,+y)?/[^x]y/也匹配前面的字符,所以我需要一个替代... 最佳答案 您需要一个零宽度的否定后视断言。尝试/(?它准确说明了您要查找的内容,即找到所有“y”前面没有“x”,但不包括前面的字符,即零宽度部分。编辑添加:显然这仅受Ruby1.9及更高版本的支持。 关于ruby-正则表达式匹配string1,除非前面有string2,我们在StackOverflow上找到一个类似的

ruby - 如何从文本中删除非单词字符?

我希望“ThisIsA101Test”成为“ThisIsATest”,但语法不正确。src='ThisIsA101Test'puts"A)"+src#base=>"ThisIsA101Test"puts"B)"+src[/([a-z]+)/]#onlydoesfirstword=>"his"puts"C)"+src.gsub!(/\D/,"")#Doesdigits,Iwantalphabetic=>"101"puts"D)"+src.gsub!(/\W///g)#Nothing.=>""puts"E)"+src.gsub(/(\W|\d)/,"")#Nothing.=>""

Ruby 多行三元表达式?

我正在尝试转换这样的东西:ifcondition?expression1line1expression1line2expression1line3elseexpression2line1end对于三元,我的问题是:如何将多行放在一行的一个表达式中?你像java一样用分号分隔吗?像这样?condition?expression1line1;expression1line2;expression1line3:expression2 最佳答案 InRuby,itisalwayspossibletoreplacenewlineswithse

ruby - 多字节字符是否会干扰正则表达式中的结束行字符?

使用这个正则表达式:regex1=/\z/以下字符串匹配:"hello"=~regex1#=>5"こんにちは"=~regex1#=>5但是使用这些正则表达式:regex2=/#$/?\z/regex3=/\n?\z/他们表现出不同:"hello"=~regex2#=>5"hello"=~regex3#=>5"こんにちは"=~regex2#=>nil"こんにちは"=~regex3#=>nil什么是干扰?字符串编码为UTF-8,操作系统为Linux(即$/为"\n")。多字节字符是否会干扰$/?怎么办? 最佳答案 你报告的问题肯定是Re

ruby-on-rails - 获取自己的IP地址

如何使用Rails获取我自己的IP地址?当我这样做时,我得到了:127.0.0.1@ip=request.remote_ip有什么办法可以获取公网IP吗? 最佳答案 尝试:require'socket'ip=Socket.ip_address_list.detect{|intf|intf.ipv4_private?}ip.ip_addressifip 关于ruby-on-rails-获取自己的IP地址,我们在StackOverflow上找到一个类似的问题: h

ruby - 如何使用正则表达式转换 Markdown 样式的链接?

我正在尝试编写一个正则表达式来替换markdown样式的链接,但它似乎不起作用。这是我目前所拥有的:#rubycode:text="[linkmeup](http://www.example.com)"text.gsub!(%r{\[(\+)\]\((\+)\)}x,%{\\2})我做错了什么? 最佳答案 irb(main):001:0>text="[linkmeup](http://www.example.com)"irb(main):002:0>text.gsub/\[([^\]]+)\]\(([^)]+)\)/,'\1'#=>

ruby - 正则表达式匹配日期

我想匹配格式为mm/dd/yy或mm/dd/yyyy的日期,但它不应选择23/09/2010,其中月份为23,这是无效的,也不应选择无效日期,如00/12/2020或12/00/2011. 最佳答案 比疯狂的巨大Regex更好(假设这是为了验证而不是扫描):require'date'defvalid_date?(str,format="%m/%d/%Y")Date.strptime(str,format)rescuefalseend除了社论:Eww!为什么要使用如此糟糕的日期格式?选择ISO8601,YYYY-MM-DD,这是一个有