正则表达式对象语法参数有以下部分: _________________________________________________________________ 参数部分 | 描述 ------------------------------------------------------------------- pattern | 必需的。要使用的正则表达式模式,例如使用替换方法replace | 时,就是要替换的文本。 | 语法 1,用 "/" 字符分隔模式。 | 语法 2,用引号将模式引起来。 ------------------------------------------------------------------- switch | 可选项。语法 2 要用引号将 switch 引起来。可选的开 | 关选项有: | i (忽略大小写) | g (全文查找出现的所有 pattern) | gi (全文查找、忽略大小写) -------------------------------------------------------------------
语法1 当预先知道查找字符串时用 语法 2 当查找字符串经常变动或不知道时用,比如由用户输入得到的字符串。
在使用前 pattern 参数被编译为内部格式。 对语法 1 来说,pattern 在该脚本被装载时被编译。 对语法 2 来说,pattern 在使用前,或调用 compile 方法时被编译。
正则表达式的语法表:
字符 | 描述 ---------------------------------------------------------------- \ | 标记下一个字符是特殊字符或文字。例如,"n" 和字符 "n" 匹配。 | "\n" 则和换行字符匹配。序列 "\\" 和 "\" 匹配,而 "\(" 则 | 和 "(" 匹配。 ---------------------------------------------------------------- ^ | 匹配输入的开头。 ---------------------------------------------------------------- $ | 匹配输入的末尾。 ---------------------------------------------------------------- * | 匹配前面的子表达式零或多次。例如,"zo*" 与 "z" 或 "zoo" 匹配。等价 于 {0,} ---------------------------------------------------------------- + | 匹配前面的子表达式一次或多次。例如,"zo+" 与 "zoo" 匹配,但和 "z" | 不匹配。 ---------------------------------------------------------------- ? | 匹配前一个字符零或一次。例如,"a?ve?" 和 "never" 中的 "ve" 匹 | 配。 ----------------------------------------------------------------- . | 匹配除换行字符外的任何单个字符。 ----------------------------------------------------------------- (pat- | 匹配 pattern 并记住该匹配。匹配上的子字符串,可以使用 Item tern) | [0]...[n],来从生成的 Matches 集合中取回。要匹配圆括号字 | 符 ( ),则需使用 "\(" 或 "\)"。 ----------------------------------------------------------------- x|y | 匹配 x 或 y。例如,"z|food" 和 "z" 或 "food" 匹配。"(z|f) | ood" 匹配 "zoo" 或 "food"。 ----------------------------------------------------------------- {n} | n 是非负整数。共匹配 n 次。例如,"o{2}" 和 "Bob" 中的 "o" 不匹 | 配,但和 "foooood" 中的前两个 o 匹配。 ----------------------------------------------------------------- {n,} | n 是一个非负整数。至少匹配 n 次。例如,"o{2,}" 和 "Bob" 中 | 的 "o" 不匹配,但和 "foooood" 中的所有 o 匹配。"o{1,}" | 与 "o+" 等效。"o{0,}" 和 "o*" 等效。 ----------------------------------------------------------------- {n,m} | m 和 n 是非负整数。至少匹配 n 次而至多匹配 m 次。例如,"o | {1,3}" 和 "fooooood" 中的前三个 o 匹配。"o{0,1}" 和 "o?" 等 | 效。 ----------------------------------------------------------------- [xyz] | 字符集合。匹配括号内的任一字符。例如,"[abc]" 和 "plain" 中 | 的 "a" 匹配。 ----------------------------------------------------------------- [^xyz] | 否定字符集合。匹配非括号内的任何字符。例如,"[^abc]" | 和 "plain" 中的 "p" 匹配。 ----------------------------------------------------------------- [a-z] | 字符范围。和指定范围内的任一字符匹配。例如,"[a-z]" 匹配 "a" | 到 "z"范围内的任一小写的字母表字符。 ----------------------------------------------------------------- [^m-z] | 否定字符范围。匹配不在指定范围内的任何字符。例如,"[m-z]" 匹配不 | 在 "m" 到 "z"范围内的任何字符。 ----------------------------------------------------------------- \b | 匹配字的边界,也就是说,在字和空格之间的位置。例如,"er\b" | 和 "never" 中的 "er" 匹配,但和 "verb" 中的 "er" 不匹配。 ----------------------------------------------------------------- \B | 匹配非字边界。"ea*r\B" 和 "never early" 中的 "ear" 匹配。 ----------------------------------------------------------------- \d | 匹配数字字符。等价于 [0-9]。 ----------------------------------------------------------------- \D | 匹配非数字字符。等价于 [^0-9]。 ----------------------------------------------------------------- \f | 匹配换页字符。 ----------------------------------------------------------------- \n | 匹配换行字符。 ----------------------------------------------------------------- \r | 匹配回车符字符。 ----------------------------------------------------------------- \s |匹配任何空白,包括空格、制表、换页等。与 "[ \f\n\r\t\v]" 等效。 ----------------------------------------------------------------- \S | 匹配任何非空白字符。与 "[^ \f\n\r\t\v]" 等效。 ----------------------------------------------------------------- \t | 匹配制表字符。 ----------------------------------------------------------------- \v | 匹配垂直制表符。 ----------------------------------------------------------------- \w | 匹配包括下划线在内的任何字字符。与 "[A-Za-z0-9_]" 等效。 ----------------------------------------------------------------- \W | 匹配任何非字字符。与 "[^A-Za-z0-9_]" 等效。 ----------------------------------------------------------------- \num | 匹配 num,其中 num 是一个正整数。返回记住的匹配的引用。例 | 如,"(.)\1" 匹配两个连续的同一字符。 ----------------------------------------------------------------- \n | 匹配 n,其中 n 是八进制换码值。八进制换码值必须是 1、2、或 3 位 | 长。例如,"\11" 和 "\011" 都匹配制表字符。"\0011" 和 "\001" | & "1" 是等效的。八进制换码值必须不超过 256。如果超过了,则只有 | 前两位组成表达式。允许在正则表达式中使用 ASCII 码。 ----------------------------------------------------------------- \xn | 匹配 n,其中 n 是十六进制换码值。十六进制换码值必须正好是两位 | 长。例如,"\x41" 与 "A" 匹配。"\x041" 和 "\x04" & "1" 是等效 | 的。允许在正则表达式中使用 ASCII 码。
常用正则表达式 1。^\d+$ //匹配非负整数(正整数 + 0) 2。^[0-9]*[1-9][0-9]*$ //匹配正整数 3。^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0) 4。^-[0-9]*[1-9][0-9]*$ //匹配负整数 5。^-?\d+$ //匹配整数 6。^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0) 7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数 8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0) 9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数 10。^(-?\d+)(\.\d+)?$ //匹配浮点数 11。^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 12。^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 13。^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 14。^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 15。^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串 16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址 17。^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ //匹配url 18。匹配中文字符的正则表达式: [\u4e00-\u9fa5] 19。匹配双字节字符(包括汉字在内):[^\x00-\xff] 20。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;} 21。匹配空行的正则表达式:\n[\s| ]*\r 22。匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 23。匹配首尾空格的正则表达式:(^\s*)|(\s*$)
正则表达式用例 * 1、^\S+[a-z A-Z]$ 不能为空 不能有空格 只能是英文字母 * 2、\S{6,} 不能为空 六位以上 * 3、^\d+$ 不能有空格 不能非数字 * 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式 * 5、^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式 * 6、^0$ 至少选一项 * 7、^0{2,}$ 至少选两项 * 8、^[\s|\S]{20,}$ 不能为空 二十字以上 * 9、^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$邮件 * 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 输入多个地址用逗号或空格分隔邮件 * 11、^(\([0-9]+\))?[0-9]{7,8}$电话号码7位或8位或前面有区号例如(022)87341628 * 12、^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$ * 只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件 * 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表达式也可以写成这样子,更精练。 14 ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$
|
相关推荐
在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...
在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...
C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...
例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...
标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...