艺术考试网
全国站

英语HTML代码常用量词m,n}出现次数没有上限

chanong
2024-02-02 02:57:32
编辑说
文章浏览阅读779次。{m,n}是通用形式的量词,正则表达式还有三个常用量词,分别是+、?、*。它们的形态虽然不同于{m,n},功能却是相同的(也可以把它们理解为

表2-2 常用量词

常用量词

{m,n} 等价形式

阐明

{0,}

它可能会出现,也可能不会出现。 出现次数没有上限。

{1,}

至少出现一次,出现次数没有上限

{0,1}

最多出现一次,也可能根本不出现

在实际应用中,很多情况下只需要表达这三种含义,因此常用量词的使用频率高于{m,n},下面对此进行解释。

众所周知,有些单词在美式英语和英式英语中的写法不同,例如and。 如果要“全取”,则需要第二个l出现“最多出现一次,或者最多不出现”,这就正好了。 使用量词:er,如例 2-4 所示。

例2-4 量词的应用?

re.search(r"^travell?er$", "traveler") != None  #  => True  
re.search(r"^travell?er$", "traveller") != None #  => True  

其实这样的情况还有很多,比如最爱和颜色之和。 除此之外,还有很多其他的应用场景,比如http、https等。 虽然是两个概念,但都是协议名,可以和https?匹配; 另一个例子是表示价格的字符串,可以是 100 或 ¥100。 用¥?100来匹配。

量词也广泛用于解析 HTML 代码。 HTML是一种“标签语言”,其中包含各种标签(tags),例如,

这些标签的名称不同,但形式是相同的:从末尾开始,中间有多个字符。 “几个”表示长度不确定,但不能为0(不是合法标签),也不能为>字符。 如果想用正则表达式匹配所有标签,就需要用[^>]+来匹配中间的“几个字符”,所以整个正则表达式就是]+>。 程序如例2-5所示。

例2-5 量词+的应用

re.search(r"^<[^>]+>$", "") != None       #  => True  
re.search(r"^<[^>]+>$", "") != None     #  => True  
re.search(r"^<[^>]+>$", "<>") != None           #  => False  

同样,您也可以使用正则表达式来匹配双引号字符串。 不同之处在于双引号字符串中两个双引号之间不能有任何字符。 "" 也是一个完全合法的双引号字符串。 应使用量词*,这样整个正则表达式就变成“[^”] *”,过程见例2-6。

例2-6 量词*的应用

re.search(r"^\"[^\"]*\"$", "\"some\"") != None  #  => True  
re.search(r"^\"[^\"]*\"$", "\"\"") != None      #  => True

注意:字符串中的双引号需要转义,写为\"。这在正则表达式中不是要求,但考虑到字符串转义。

量词的使用有很多学问。 不妨再看几个标签匹配的例子:标签大致可以分为开放标签和关闭标签,比如开放标签和关闭标签; 另一种类型的标签是自标签,例如

。 现在我们来看看分别匹配这三类标签的正则表达式。

开放标签的特征是 ,所以对应的正则表达式为]*>; 注意:因为[^/]必须匹配一个字符,所以“几个字符”的其他部分必须写成[^>]*,否则无法匹配单字符名称的标签,例如 。

关闭标签的特点是,所以对应的正则表达式为]+>;

自标记的特点是 ,所以对应的正则表达式是]+/>。注意:这不是/]+/>。 排除字符组只排除>,不排除/,因为需要确认的只是结尾>之前是否出现/。 如果写成/]+/>,则要求不能出现在标签内部。 /,无法匹配

这种类型的标签。

表 2-3 列出了匹配多种类型标签的表达式。

表2-3 各种标签的搭配

匹配所有标签的表达式

标签分类

表达匹配分类标签

]+>

开放标签

][^>]*>

关闭标签

]+>

自标记

/]+/>

对比表中“匹配所有标签的表情”和“匹配分类标签的表情”,我们可以发现它们的模式相似,但细节上有差异。 也就是说量词有哪些,通过改变字符组和量词,可以精确控制正则表达式可以匹配的字符串范围,从而达到不同的目的。 这实际上是使用正则表达式时的一个基本规则:使用适当的结构(包括字符组和量词)来准确表达您的意图并定义匹配文本。

如果你仔细观察,可能会发现匹配开放标签的表达式也可以匹配自标签:]*>可以匹配

,因为 [^>]* 不排除 / 的匹配。 然后将表达式更改为]*[^/]>,以确保匹配的开放标记不会以/>结尾。

然而,这会带来新的问题:]*[^/]>可以匹配的标签之间有两个[^/]。 上一章提到,独占字符组的意思是“在当前位置,匹配一个未列出的字符”,因此标签中的字符串必须至少包含两个字符,因此无法匹配。

仔细想想,你真正想要表达的是标签内的字符串不能以/开头或以/结尾。 如果字符串仅包含一个字符,则它既是开头又是结尾。 使用两个排除项。 类型字符组显然不合适,而且似乎没有办法解决。 事实上,现有的知识不足以解决这个问题。 第 68 页有此问题的详细解决方案。

免责声明
本站所有收录的学校、专业及发布的图片、内容,均收集整理自互联网,仅用于信息展示,不作为择校或选择专业的建议,若有侵权请联系删除!

大家都在看

中国人影响最深刻的东西:科举制遗留的痕迹

中国人影响最深刻的东西:科举制遗留的痕迹

如果列举对中国人影响最深刻的东西,科举制一定位列榜首。时至今日,科举制遗留的痕迹一样清晰的影响着我们。看看身边大家对学区房的追逐、对高考的重视
2024-02-02
英语HTML代码常用量词m,n}出现次数没有上限

英语HTML代码常用量词m,n}出现次数没有上限

文章浏览阅读779次。{m,n}是通用形式的量词,正则表达式还有三个常用量词,分别是+、?、*。它们的形态虽然不同于{m,n},功能却是相同的(也可以把它们理解为
2024-02-02
最新各区重点小学排名,看看有你的母校吗?

最新各区重点小学排名,看看有你的母校吗?

【第一梯队】上海实验学校、明珠小学(潍坊AB,三林C)、福山外国语小学(源深)、六师附小(洋泾) 小学简介:福山外国语小学原名福山路小学,坐落在浦东陆家嘴金融贸易区的福山路上
2024-02-02
中国古代选拔官吏的一种制度,你了解汉朝察举制吗?

中国古代选拔官吏的一种制度,你了解汉朝察举制吗?

察举制是中国古代选拔官吏的一种制度,那么你了解汉朝察举制吗?下面是学习啦小编为你整理的朝察举制的影响,让我们一起来了解。
2024-02-02
2023届美术生想考美院的八大独立美院,你了解吗?

2023届美术生想考美院的八大独立美院,你了解吗?

还需要对各往年各大院校的文化最低控制线有所了解,根据自身情况,选择合适、能录取的院校进行冲刺,这样才更容易考入美院。
2024-02-02
扇形面积公式 (期中复习)小学数学知识点总结,建议收藏!

扇形面积公式 (期中复习)小学数学知识点总结,建议收藏!

(1)找单位“1”的方法:从含有分数的关键句中找,注意“的”前“比”后的规则。句子中没有“的”和“比”的时候,把原来的量看做单位“1”。
2024-02-02
适合小学生的手工制作,赶紧收藏吧!太实用了!

适合小学生的手工制作,赶紧收藏吧!太实用了!

手工制作应该是很多小学生都喜欢的,在小朋友的眼里手工制作是一件非常有趣的事情。手工制作不仅能锻炼孩子的动手和动脑能力,还能增强家长和孩子之间的交流。
2024-02-02
(高考英语)考研英语:定语从句详解及学习方法

(高考英语)考研英语:定语从句详解及学习方法

雅思71天倒计时训练:过去分词作定语
2024-02-02
艺考不再“易考”已是既成事实,考生少了

艺考不再“易考”已是既成事实,考生少了

坐拥中国美术学院的杭州市,素来是长三角地区美术艺考培训重镇,大小培训机构和画室扎堆,其中以富阳区最为集中。
2024-02-02
前五年湖北高考录取分数线将于6月23日公布

前五年湖北高考录取分数线将于6月23日公布

湖北高考数学速查!
2024-02-02