Ruby正则表达式不';我认不出字符串的开头

Ruby正则表达式不';我认不出字符串的开头,ruby,regex,Ruby,Regex,我想用此链接的实际HTML标记替换包含http链接的“文本” 这是我的Ruby代码 url_check = Regexp.new( '(\A|[\n ])([\w]+?://[\w]+[^ \"\r\n\t<]*)', Regexp::MULTILINE | Regexp::IGNORECASE ) self.gsub!(url_check, '\1<a href="http://\2">\2</a>') to_s 仅为第二种情况创建链接,但不为第一种情况创

我想用此链接的实际HTML标记替换包含http链接的“文本”

这是我的Ruby代码

url_check = Regexp.new( '(\A|[\n ])([\w]+?://[\w]+[^ \"\r\n\t<]*)', Regexp::MULTILINE |    Regexp::IGNORECASE )
self.gsub!(url_check, '\1<a href="http://\2">\2</a>')
to_s
仅为第二种情况创建链接,但不为第一种情况创建链接(之前有多个换行)

我建议使用\b(单词边界)而不是新行/行检测的开始:

.gsub!(/\b([\w]+?:\/\/[\w]+[^ \"\r\n\t<]*)/i, '<a href="\1">\1</a>')

.gsub!(/\b([\w]+?:\/\/[\w]+[^\”\r\n\t您能添加预期的输出吗?我这里肯定缺少一些东西。它对我有效。创建两个链接。您可以将第一组中的字符类泛化为
(\A |[\s])
,以捕获任何空格,而不仅仅是换行符和空格。嗨,Andrey,可能它不是多行的,而是dotall。
.gsub!(/\b([\w]+?:\/\/[\w]+[^ \"\r\n\t<]*)/i, '<a href="\1">\1</a>')