Регулярные выражения полезны, когда вы пытаетесь сопоставить варианты. Например, если ваш тег был константой , за исключением для домена в элементе "src" или в пробеле. Стефан и Энди совершенно правы, но имеющееся у вас (работающее) регулярное выражение по-прежнему ничем не отличается от строкового литерала в моем ответе выше.
Таким образом, и регулярное выражение, и строка эквивалентны, и оба совпадают:
'<img src="http://www.domain.com/test.asp" width="1" height="1" />'.match(/<img src="http:\/\/www\.domain\.com\/test\.asp" width="1" height="1" \/>/)
=> #<MatchData:0x5ebbf90>
против
'<img src="http://www.domain.com/test.asp" width="1" height="1" />'.match('<img src="http://www.domain.com/test\.asp" width="1" height="1" />')
=> #<MatchData:0x5eb6cac>
Если вы хотите сопоставить тонкие вариации (например, пробел не всегда точно один пробел, иногда это 1 пробел, иногда 2, другие 3 и т. Д.), Тогда вам нужно регулярное выражение, не строка, но текущее регулярное выражение также не будет совпадать, потому что оно просто выполняет точное соответствие (потому что оно вообще не использует никаких регулярных выражений - это может быть также строка). Например, 2 пробела после "img":
'<img src="http://www.domain.com/test.asp" width="1" height="1" />'.match(/<img src="http:\/\/www\.domain\.com\/test\.asp" width="1" height="1" \/>/)
=> nil
Но регулярное выражение, фактически использующее силу регулярного выражения со специальными символами регулярного выражения, будет совпадать - обратите внимание на "\ s +" после "img", которое будет соответствовать 1..n символам пробела:
'<img src="http://www.domain.com/test.asp" width="1" height="1" />'.match(/<img\s+src="http:\/\/www\.domain\.com\/test\.asp" width="1" height="1" \/>/)
=> #<MatchData:0x5e94fbc>
Кроме того, в прошлый раз я, возможно, не был достаточно ясен, но очень важно, чтобы вы указали, на каком языке вы работаете. Как указывал Тим, регулярное выражение может варьироваться в зависимости от языка, поэтому ответ может быть правильным, но не работать Вы зависите от того, используете ли вы оба Ruby, C #, Java или что-то еще.