Flex 正则表达式
Flex正则表达式中的通用规则 Flex正则表达式有很多值得学习的地方,本文向大家介绍一下Flex正则表达式中的通用规则,希望本文的介绍能让你有所收获。
本文和大家重点讨论一下Flex正则表达式的其他通用规则,首先让我们看一下Flex正则表达式的概念和作用,Flex正则表达式(regularexpression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。 引言 Flex正则表达式(regularexpression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如表达式“ab+”描述的特征是“一个'a'和任意个'b'”,那么'ab','abb','abbbbbbbbbb'都符合这个特征。 Flex正则表达式可以用来: (1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。 Flex正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。之所以很多人感觉Flex正则表达式比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先后顺序,给读者的理解带来困难;另一方面,各种引擎自带的文档一般都要介绍它特有的功能,然而这部分特有的功能并不是我们首先要理解的。下面看一下Flex正则表达式中的其他通用规则。 1.其他通用规则 还有一些在各个Flex正则表达式引擎之间比较通用的规则,在前面的讲解过程中没有提到。 1.1表达式中,可以使用"xXX"和"uXXXX"表示一个字符("X"表示一个十六进制数) 形式 字符范围 xXX uXXXX
表达式可匹配 S D W B
字符说明 ^ $ () [] {} . ? + * | 1.4括号"()"内的子表达式,如果希望匹配结果不进行记录供以后使用,可以使用"(?:xxxxx)"格式 举例1:表达式"(?w)1)+"匹配"abbccddefg"时,结果是"bbccdd"。括号"(?"范围的匹配结果不进行记录,因此"(w)"使用"1"来引用。 1.5常用的Flex正则表达式属性设置简介:Ignorecase,Singleline,Multiline,Global 表达式属性说明 Ignorecase 默认情况下,表达式中的字母是要区分大小写的。配置为Ignorecase可使匹配时不区分大小写。有的表达式引擎,把"大小写"概念延伸至UNICODE范围的大小写。 Singleline 默认情况下,小数点"."匹配除了换行符(n)以外的字符。配置为Singleline可使小数点可匹配包括换行符在内的所有字符。 Multiline 默认情况下,表达式"^"和"$"只匹配字符串的开始①和结尾④位置。如: ①xxxxxxxxx②n 配置为Multiline可以使"^"匹配①外,还可以匹配换行符之后,下一行开始前③的位置,使"$"匹配④外,还可以匹配换行符之前,一行结束②的位置。 Global 主要在将表达式用来替换时起作用,配置为Global表示替换所有的匹配。 常用的正则表达式常用正则表达式 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 用户名:/^[a-z0-9_-]{3,16}$/ 密码:/^[a-z0-9_-]{6,18}$/ 十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮箱:/^([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})$/ URL:/^(https?://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/ IP 地址:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ HTML 标签:/^<([a-z]+)([^<]+)*(?:>(.*)</1>|s+/>)$/ Unicode编码中的汉字范围:/^[u4e00-u9fa5],{0,}$/ 匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 匹配空白行的正则表达式:ns*r 匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?</1>|<.*? /> 匹配首尾空白字符的正则表达式:^s*|s*$ 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 匹配腾讯QQ号:[1-9][0-9]{4,} 匹配中国大陆邮政编码:[1-9]d{5}(?!d) 匹配身份证:d{15}|d{18} 匹配ip地址:d+.d+.d+.d+ 匹配特定数字: 匹配特定字符串: 表达式全集正则表达式有多种不同的风格。下表是在PCRE中元字符及其在正则表达式上下文中的行为的一个完整列表:
以下是以PHP的语法所写的示例 验证字符串是否只含数字与英文,字符串长度并在4~16个字符之间 <?php $str = 'a1234'; if (preg_match("^[a-zA-Z0-9]{4,16}$", $str)) { echo "验证成功"; } else { echo "验证失败"; } ?> 简易的台湾身份证字号验证 <?php $str = 'a1234'; if (preg_match("/^w[12]d{8}$/",sans-serif; font-size:14px; line-height:21px; text-align:left"> 以下示例是用 Perl 语言写的,与上面的示例功能相同 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |