1、解释正则表达式<a\s+href\s*=\s*""?([^"" >]+)""?>(.+)</a> 各部分代表的含义。
【解答】此正则表达式用于匹配源文件中类似于<a href="http://news.sohu.com">搜狐新闻</a>的字符串,各部分表示的含义为:
<a HTML定位点的开始
\s+ 一个或多个空白字符
href 后接HTML定位点中的确切文本
\s* 零个或多个空白字符
= 后接HTML定位点中的确切文本
\s* 零个或多个空白字符
""? 零或无引号(转义的)
( 定义子字符串(定位点URL)的组的起始点。
[^"" >]+ 任意字符的一个或多个匹配项,括号中的字符除外。
) 定义子字符串的第一组的结束
""? 零或无引号(转义的)
> 后接 HTML定位点中的确切文本
(.+) 与任意字符(定位点文本)匹配的组。
</a> 结束 HTML定位点的确切文本
2、写出符合下列要求的正则表达式。
(1)要求4~8个英文字母。
(2)不能包含字母,至少1个字符。
(3)至少3个数字。
(4)至少3个字符。
(5)至少3个英文字母。
(6)3个字母或数字,如123、r3a等。
(7)3个点。
(8)@前至少有1个字符,@后至少有3个字符。
(9)必须输入左括号。
【解答】
1) [a-zA-Z]{4,8}
2) [^a-zA-Z]{1,}
3) [0-9]{3,}
4) {3,}
5) [a-zA-Z]{3,}
6) .{0,}
7) [A-Za-z0-9]{3}
8) \.{3}
9) .{1,}@ .{3,}
10) \(