日期:2014-05-18  浏览次数:20868 次

请教一正则表达式语句
以下是一个网址的正则表达式

C# code
(href|HREF)[ ]*=[ ]*[""'][^""'#>]+[""']


这个表达式里
[ ] 这是代表什么?,注意中间是空格
[ ]* 代表什么?
[""'] 这里的双引号是代表什么?



------解决方案--------------------
[ ]表示空格字符本身
[ ]*表示任意个空格字符,包括0个
[""']表示双引号或单引号,""是因为字符串前面有@符,需要用""表示字符串中的"
------解决方案--------------------
你的正则可简化一下:
(?i)href\s*=\s*([""'])[^""'#>]+\1


[ ] 这是代表什么?,注意中间是空格
就表示匹配空格 可用 \s代替
[ ]* 代表什么?
表示匹配0-N个空格
[""'] 这里的双引号是代表什么?
表示匹配双引号 用两个是转义而已

------解决方案--------------------
string s="abc\"def";

相当于

string s=@"abc""def";

@表示不转义,但除了"自身以外,否则写成string s=@"abc"def"编译器不能识别。