此正则表达式是否与http://i.imgur.com/xxx
匹配?
"http://i.imgur.com/[a-zA-Z0-9]*"
我真的不使用正则表达式,而且我几乎没有学过它。我用谷歌搜索了如何做到imgur并且每个人都有很长的,这不够好吗?它似乎有效,但它会错过什么以及如何改进?
我想找到所有i.imgur.com/xxx以下载imgur .jpg。基本上它必须看起来像“http://i.imgur.com/”其余的将是“afsidjf123”“Bdfsi13”“123aslefBA”
答案 0 :(得分:2)
总之,是。
根据您使用的语言,这是一种方法。
或者,您可以使用类似\w
的更简单的内容,它匹配所有单词字符:
http://i\\.imgur\\.com/\\w*
也很重要: .
是正则表达式中的一个特殊字符,用于匹配“任何一个字符”;你可能会以你的方式使用它来结束一些误报。您需要使用反斜杠\
来逃避文字句点。
在此处查看此行动:http://regex101.com/r/tP0iU7
(请注意反斜杠转义/
,这是PHP的要求,在上面的表达式中,\
必须由另一个\
转义。
有些注意事项:
.
中的image.jpg
不匹配;如果你想捕获它,你需要使用像[\w.]
这样的字符类,而不仅仅是\w
。http://
,您将无法匹配https://
上托管的任何内容。您可以通过添加“非贪婪”s?
来完成此匹配:https?://
答案 1 :(得分:1)
首先,您需要转义.
,因为它是正则表达式中的特殊字符(表示任何字符)。这个正则表达式将匹配http://i\.imgur\.com/
,后跟任何字母或数字,如果这是你想要的:
"http://i\.imgur\.com/[a-zA-Z0-9]+"