正则表达式-字符的范围
连字符(-)用于指定一个字符范围。例如,所有大写英文字符的范围可以指定为: 一个数字的范围可以指定为: 该字符类有助于解决匹配文章引用的问题。请看下面的正则表达式: 它匹配字符串"chapter" 或"Chapter" 且其后面跟有空格,然后是从1到9的任意单个数字,下面的每一行都匹配这种模式: 根据这个任务,本例中的第二行可以看做是假警报,可以在"[1-9]"之后添加空格来避免匹配两个数字。也可以指定不在那个位置匹配的字符类,正如我们在下一节要看到的那样。可以同时指定多重范围,也可以混合使用: 这个表达式将匹配“任意单个字符,可以是数字、小写字母、问号、逗号、句 这个表达式匹配“任意后面跟有句点、问号或感叹号的小写或大写字母”。 如果闭括号(])是作为类中的第一个字符出现(或者是脱字符后的第一个字符,参见下一节) ,那么它就被解释为类的一个成员。如果连字符在一个类中是第一个或最后一个字符,则失去其特殊含义。因此,为了匹配算术操作符,我们在下面的示例中将连字符(-)放在第一位: 在awk中,还可以使用反斜杠转义在范围中出现的连字符或闭方括号,但是语法更杂乱了。 下面的正则表达式指示每个字符位置可能的数值范围: "-"或"/"都可能是定界符。在第一个位置放置连字符确保它在字符类中解释为字面意义,即作为一个连字符,而不是指示一个范围。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |