读书人

ASP正则表达式(.[^lt;gt;]*)为啥不能匹配空

发布时间: 2013-06-19 10:26:41 作者: rapoo

ASP正则表达式(.[^<>]*?)为什么不能匹配空字符串
ASP正则表达式(.[^<>]*?)为什么不能匹配空字符串

MyString="刘德华<a href=""#"">微博</a>收听。谢霆锋<a href=""#"">[微博]</a>收听。"


MyPat="<a(.[^<>]*?)>(.[^<>]*?)微博(.[^<>]*?)</a>"

我发现能匹配 谢霆锋后面那个,刘德华匹配不到。 因为谢霆锋多了个[]

为什么(.[^<>]*?)为什么不能匹配空字符串
[解决办法]
MyPat="<a(.[^<>]*?)>(.[^<>]*?)微博(.[^<>]*?)</a>"
你这个明显的正则有问题

(.[^<>]*?)你这里的多了一个. 这个表示任意一个字符,你这个正则的匹配下来是匹配“微博”前后都至少有一个字符的超级链接
[解决办法]
所以你的只能匹配后面一个
[解决办法]
<a(.[^<>]*?)>(.[^<>]*?)?微博(.[^<>]*?)?</a>
[解决办法]

引用:
w 我后面不是加了星号吗? *

你这个值针对中括号里的

去掉.就好了

读书人网 >ASP

热点推荐