Tag: 正则表达式

rails app的出生日期正则表达式yyyy-mm-dd

我正在创建一个用户注册表单,我将生日期添加到必填字段。 我已经搜索了谷歌,github和stackoverflow的出生日期(日期)正则表达式,并发现这个: user.rb DateRegex = /^\d{4}-\d{2}-\d{2}/ validates_format_of :date_of_birth, :with => DateRegex new.html.erb (我知道这会允许一些虚假的出生日期,但我不想在此时安装任何类似validation时效性的内容。) 但是,在测试出生日期时,它似乎并没有强制执行正则表达式中的4-2-2。 它允许2-2-2有时,2-4-2,2-2-4,它允许连字符和斜线…请帮助吗? 另外,如果有必要,如何使用3个文本字段并将其输入一个mysql date_of_birth列?

从一个文本块中提取电子邮件地址

如何创建一个文本块中包含的电子邮件地址数组? 我试过了 addrs = text.scan(/ .+?@.+? /).map{|e| e[1…-1]} 但是(毫不奇怪)它不能可靠地工作。

用于查找注释的Ruby正则表达式?

我整天都在这里,我无法理解。 我在下面的字符串中有一些Ruby代码,并且只想匹配带有代码的行和代码的第一个注释(如果存在)。 # Some ignored comment. 1 + 1 # Simple math (this comment would be collected) # ignored # ignored user = User.new user.name = “Ryan” # Setting an attribute # Another ignored comment 这将捕获: “1 + 1” “Simple math” “user = User.new” nil “user.name = “Ryan” “Setting an attribute” 我正在使用/^\x20*(.+)\x20*(#\x20*.+\x20*){1}$/来匹配每一行,但它似乎不适用于所有代码。

使用正则表达式检查最少8位的字符串

我有正则表达式如下: /^(\d|-|\(|\)|\+|\s){12,}$/ 这将允许数字,(,),空格。 但我想确保字符串包含至少8位数字。 一些允许的字符串如下: (1323 ++24)233 24243434 43 ++++43435++4554345 434 它不应该允许字符串: ((((((1213))) ++++232+++

如果空格不存在,请在某个字符前插入空格

如果有一个字符串,如: “_test_teste2 _test3” 如何在_之前添加一个空格,之前没有空格并且不在字符串的开头? 例如: “_test _teste2 _test3” 我试过这个: todo.desc = todo.desc.gsub /_/, ” _” 它工作,但每_后添加空格。 提前致谢。

ruby正则表达式匹配多次出现的模式

我希望构建一个ruby正则表达式来匹配模式的多次出现并将它们返回到数组中。 模式很简单:[[。+]]。 也就是说,两个左括号,一个或多个字符,后跟两个右括号。 这就是我所做的: str = “Some random text[[lead:first_name]] and more stuff [[client:last_name]]” str.match(/\[\[(.+)\]\]/).captures 上面的正则表达式不起作用,因为它返回: [“lead:first_name]] and another [[client:last_name”] 当我想要的是这个: [“lead:first_name”, “client:last_name”] 我想如果我使用非捕获组,肯定它应该解决问题: str.match(/(?:\[\[(.+)\]\])+/).captures 但非捕获组返回相同的错误输出。 关于如何解决我的问题的任何想法?

正则表达式:匹配此字符串

我无法弄清楚这一点: 22.584\r\n\t\t\tl-6.579-22 我想匹配”\r\n\t\t\t”并替换为单个空格” ” 。 问题是”\t” , “\r”和”\n”波动,周围的字符也是如此。 救命!

Ruby将不可打印的字符转换为数字

我有一个包含不可打印字符的字符串。 我目前正在做的是用波浪号代替它们: string.gsub!(/^[:print:]]/, “~”) 但是,我实际上想将它们转换为整数值。 我试过这个,但总是输出0 string.gsub!(/[^[:print:]]/, “#{$1.to_i}”) 思考?

如何编写与任何顺序的字符匹配的正则表达式?

我正在尝试编写一个正则表达式,它将匹配一组字符而不考虑顺序。 例如: str = “act” str.scan(/Insert expression here/) 会匹配: cat act tca atc tac cta 但不会匹配ca , ac或cata 。 我在StackOverflow上阅读了很多类似的问题和答案,但没有找到一个与我的目标完全匹配的问题。 为了澄清一点,我使用ruby并且不想允许重复字符。

Ruby:转义字符串中的特殊字符

我正在尝试编写一个与PHP中的mysqli_real_escape_string相同的方法。 它需要一个字符串并逃脱任何“危险”的角色。 我已经找了一种能为我做这个的方法,但我找不到一个。 所以我试着自己写一个。 这就是我到目前为止(我在Rubular.com测试了模式并且它有效): # Finds the following characters and escapes them by preceding them with a backslash. Characters: ‘ ” . * / \ – def escape_characters_in_string(string) pattern = %r{ (\’|\”|\.|\*|\/|\-|\\) } string.gsub(pattern, ‘\\\0’) # <– Trying to take the currently found match and add a \ before it I have no idea […]