我有原始HTML,我需要设置所有IMG src =“http:// foo”。
这是我到目前为止的RegEx,似乎有效。在我的环境中,可以安全地假设标签是大写的,属性是小写的。我在.Net中这样做,但我认为平台在这里并不重要。 \ s是.Net RegEx引擎中的任何空格。
有人能改进吗?
Regex.Replace(htmlText, "(<IMG[^>]*\\ssrc=\")([^\"]*)(\"[^>]*>)", "$1http://foo$3")
答案 0 :(得分:2)
首先匹配整个IMG标记,然后匹配src="([^\"]*)"
属性,替换它,为src =“...”部分提供替换字符串。
然后,您可以使用原始匹配,并搜索整个标记,并将其替换为整个标记。
答案 1 :(得分:1)
无论如何都不是regexpert,但请尝试使用txt2re.com
也许这会让你开始:http://txt2re.com/index-ruby.php3?s=%3CIMG%20src=%22http://foo.bar/baz.jpg%22%20/%3E&1
答案 2 :(得分:0)
也许允许使用\s+
答案 3 :(得分:0)
另一种方法是使用HTML解析器。 IMO,使用解析器而不是正则表达式来完成此任务要好得多。