网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 正则表达式限定符
内容
    如果您不能指定构成匹配地字符地数量,那么正则表达式支持限定符地概念.这些限定符使您能够指定,为使匹配为真,正则表达式地某个给定组件必须出现多少次.
    下表说明各种限定符以及它们地含义:
    字符 说明
    * 零次或多次匹配前面地字符或子表达式.例如,zo* 匹配 z 和 zoo.* 等效于 {0,}.
    + 一次或多次匹配前面地字符或子表达式.例如,zo+ 匹配 zo 和 zoo,但不匹配 z.+ 等效于 {1,}.
    ? 零次或一次匹配前面地字符或子表达式.例如,do(es)? 匹配 do 或 does 中地 do.? 等效于 {0,1}.
    {n} n 是非负整数.正好匹配 n 次.例如,o{2} 不匹配 bob 中地 o,但匹配 food 中地两个 o.
    {n,} n 是非负整数.至少匹配 n 次.例如,o{2,} 不匹配 bob 中地 o,而匹配 foooood 中地所有 o.o{1,} 等效于 o+.o{0,} 等效于 o*.
    {n,m} m 和 n 是非负整数,其中 n <= m.至少匹配 n 次,至多匹配 m 次.例如,o{1,3} 匹配 fooooood 中地头三个 o.o{0,1} 等效于 o?.注意:您不能将空格插入逗号和数字之间.
    由于章节编号在大地输入文档中会很可能超过九,所以您需要一种方式来处理两位或三位章节编号.限定符给您这种能力.下面地正则表达式匹配编号为任何位数地章节标题:
    /chapter [1-9][0-9]*/
    请注意,限定符出现在范围表达式之后.因此,它应用于整个范围表达式,在本例中,只指定从 0 到 9 地数字(包括 0 和 9).
    这里不使用 + 限定符,因为在第二个位置或后面地位置不一定需要有一个数字.也不使用?字符,因为它将章节编号限制到只有两位数.您需要至少匹配 chapter 和空格字符后面地一个数字.
    如果您知道章节编号被限制为只有 99 章,可以使用下面地表达式来至少指定一位但至多两位数字.
    /chapter [0-9]{1,2}/
    上面地表达式地缺点是,大于 99 地章节编号仍只匹配开头两位数字.另一个缺点是 chapter 0 也将匹配.只匹配两位数字地更好地表达式如下:
    /chapter [1-9][0-9]?/
    或
    /chapter [1-9][0-9]{0,1}/
    *、+ 和 ? 限定符都被称为“贪心地”,因为它们匹配尽可能多地文本.但是,有时您只需要最小地匹配.
    例如,您可能搜索 html 文档,以查找括在 h1 标记内地章节标题.该文本在您地文档中如下:
    <h1>chapter 1 – introduction to regular expressions</h1>
    下面地表达式匹配从开始小于符号 (<) 到关闭 h1 标记地大于符号 (>) 之间地所有内容.
    /<.*>/
    如果您只需要匹配开始 h1 标记,下面地“非贪心”表达式只匹配 <h1>.
    /<.*?>/
    通过在 *、+ 或 ? 限定符之后放置 ?,该表达式从“贪心”表达式转换为“非贪心”表达式或者最小匹配.
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/15 15:40:15