C#网络应用编程基础练习题与答案(七)

王朝c#·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

1. 解释正则表达式 <a\s+href\s*=\s*""?([^"" >]+)""?>(.+)</a>各部分代表的含义。

【解答】 此正则表达式用于匹配源文件中类似于搜狐新闻的字符串,各部分表示的含义为:

\s+ 一个或多个空白字符

href 后接 HTML 定位点中的确切文本

\s* 零个或多个空白字符

= 后接 HTML 定位点中的确切文本

\s* 零个或多个空白字符

""? 零或无引号(转义的)

( 定义子字符串(定位点 URL)的组的起始点。

[^"" >]+ 任意字符的一个或多个匹配项,括号中的字符除外。

) 定义子字符串的第一组的结束

""? 零或无引号(转义的)

> 后接 HTML 定位点中的确切文本

(.+) 与任意字符(定位点文本)匹配的组。

结束 HTML 定位点的确切文本

2. 下面是检查输入字符串是否为有效的电子邮件的正则表达式:

^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$

试解释各部分的含义。

【解答】

[\w-]+

一个或多个任意字符(a-z、A-Z、0-9 以及下划线)或短划线。在@字符两边,确保地址形式为name@domainname。

\.

一个转义点号。(不带反斜杠,一个点号与除换行符外的任意单个字符匹配。)以此确保域名中至少有一个点号。

*?

对前面的表达式,非贪婪(non-greedy,即最小)地查找零次或多次匹配。

([\w-]+\.)*?

以上三个表达式的组合:

对于包含一个或多个任意字符(a-z、A-Z、0-9 以及下划线)或短划线并且后面只跟一个点号的表达式,非贪婪地查找零次或多次匹配。

3. 写出符合下列要求的正则表达式:

1) 要求4-8个英文字母。

2) 不能包含字母,至少1个字符。

3) 至少3个数字。

4) 至少3个字符。

5) 至少3个英文字母。

6) 任意字符。

7) 3个字母或数字,如123,r3a等。

8) 3个点。

9) @前至少有1个字符,@后至少有3个字符。

10) 必须输入左括号。

【解答】

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) \(

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航