解码正则表达式

时间:2016-05-23 17:52:28

标签: regex

我试图解码以下正则表达式。出于某种原因,它不能在我的在线解码器上工作。任何人都可以帮我解密以下内容:

def results
  @cars = Car.available_for_rent
end

感谢。

2 个答案:

答案 0 :(得分:4)

您似乎错过了最后一个引号,但请忽略它。

<强>尸检:

src=\"(?<src>[^\"]+)\"
  • src= - 文字字符串src=
  • \" - 一个文字引号(转义以确保字符串不会终止)
  • (?<src>[^\"]+)
    • 名为src?<src>)的匹配组:
    • [^\"]+ - 任何 "个字符的字符,匹配1到无穷大时间(+
  • \" - 一个文字引号(转义以确保字符串不会终止)

<强> Debuggex

Regular expression visualization

用人的话说:

使用字符串<img src="picture.png" />,这将创建一个名为src的命名捕获组,其中包含picture.png

正则表达式限制:

如果您的图片是使用单引号(<img src='picture.png' />)创建的,则无法正常工作。在这种情况下,您可以使用以下内容:

src=(\"(?<src1>[^\"]+)\"|\'(?<src2>[^\']+)\')
                        ^
     DOUBLE QUOTES     OR      SINGLE QUOTES

将匹配两者(src1src2,具体取决于报价类型)。

Regular expression visualization

答案 1 :(得分:0)

也许是因为你的模式开始不正确?我想这就是你想要的:

Regex r = new Regex("src=\"([^\"]+)\"")

这将捕获image.jpeg中的src="image.jpeg"

Regex 101