ASP正则表达式(.[^<>]*?)为什么不能匹配空字符串
ASP正则表达式(.[^<>]*?)为什么不能匹配空字符串
MyString="刘德华<a href=""#"">微博</a>收听。谢霆锋<a href=""#"">[微博]</a>收听。"
MyPat="<a(.[^<>]*?)>(.[^<>]*?)微博(.[^<>]*?)</a>"
我发现能匹配 谢霆锋后面那个,刘德华匹配不到。 因为谢霆锋多了个[]
为什么(.[^<>]*?)为什么不能匹配空字符串
------解决方案--------------------MyPat="<a(.[^<>]*?)>(.[^<>]*?)微博(.[^<>]*?)</a>"
你这个明显的正则有问题
(.[^<>]*?)你这里的多了一个. 这个表示任意一个字符,你这个正则的匹配下来是匹配“微博”前后都至少有一个字符的超级链接
------解决方案--------------------所以你的只能匹配后面一个
------解决方案--------------------<a(.[^<>]*?)>(.[^<>]*?)?微博(.[^<>]*?)?</a>
------解决方案--------------------
你这个值针对中括号里的
去掉.就好了