如何使用正则表达式?
QTP使用正则表达式有2种方式,一种是在“常量值选项”对话框或“参数选项”对话框的“值”框中输入字符串的正则表达式语法,可以定义正则表达式。选中“正则表达式”复选框,以指示QuickTest将该值作为正则表达式处理。另一种是使用描述性编程,所有编程描述属性值都均自动作为正则表达式处理。注意:您可以只将正则表达式应用于字符串类型的值。默认情况下,除了句点(.)、连字符(-)、星号(*)、插字号(^)、方括号([ ])、圆括号(())、货币符号($)、垂直线(|)、加号(+)、问号(?)和反斜杠()以外,QuickTest将正则表达式中的所有字符作为文字处理。当一个特殊字符前面带有反斜杠()时,QuickTest将其作为文字字符处理。如果在“常量值选项”或“参数选项”对话框的“值”框中输入一个特殊字符,QuickTest会询问您是否要在每个特殊字符前面添加一个反斜杠()。如果单击“是”,则相应的特殊字符前面就会加上一个反斜杠(),以指示QuickTest将该字符作为文字处理。如果单击“否”,QuickTest将该特殊字符作为正则表达式字符处理。本节描述某些更常用的选项,可用于创建正则表达式:? 使用反斜杠字符( )? 匹配任意单个字符( . )? 匹配列表中的任意单个字符( [xy] )? 匹配不在列表中的任意单个字符( [^xy] )? 匹配某个范围内的任意单个字符( [x-y] )? 特定字符的零次或多次匹配( * )? 特定字符的一次或多次匹配( + )? 特定字符的零次或一次匹配( ? )? 对正则表达式进行分组( ( ) )? 匹配几个正则表达式中的一个表达式( | )? 在一行的开始进行匹配( ^ )? 在一行的结尾进行匹配( $ )? 匹配包括下划线在内的任一字母数字字符( w )? 匹配任意非字母数字字符( W )? 组合正则表达式操作符正则表达式的语法规则和标记字符描述:^符号匹配字符串的开头。例如:^abc 与“abc xyz”匹配,而不与“xyz abc”匹配$符号匹配字符串的结尾。例如:abc$ 与“xyz abc”匹配,而不与“abc xyz”匹配。注意:如果同时使用^符号和$符号,将进行精确匹配。例如:^abc$ 只与“abc”匹配 *符号匹配0个或多个前面的字符。例如:ab* 可以匹配“ab”、“abb”、“abbb”等+符号匹配至少一个前面的字符。例如:ab+ 可以匹配“abb”、“abbb”等,但不匹配“ab”。?符号匹配0个或1个前面的字符。例如:ab?c? 可以且只能匹配“abc”、“abbc”、“abcc”和“abbcc”.符号匹配除换行符以外的任何字符。例如:(.)+ 匹配除换行符以外的所有字符串x|y匹配“x”或“y”。例如:abc|xyz 可匹配“abc”或“xyz”,而“ab(c|x)yz”匹配“abcyz”和“abxyz”{n}匹配恰好n次(n为非负整数)前面的字符。例如:a{2} 可以匹配“aa“,但不匹配“a”{n,}匹配至少n次(n为非负整数)前面的字符。例如:a{3,} 匹配“aaa”、“aaaa”等,但不匹配“a”和“aa”。注意:a{1,}等价于a+a{0,}等价于a*{m,n}匹配至少m个,至多n个前面的字符。例如:a{1,3} 只匹配“a”、“aa”和“aaa”。注意:a{0,1}等价于a?[xyz]表示一个字符集,匹配括号中字符的其中之一。
延伸阅读
VBA正则表达式语法?
正则语法几乎都一样。 VBA你调用的是VBScript.RegExp正则库吧。 VBScript正则不支持零宽断言语法。相对C#正则来说VBScript正则就弱了一点,其他的语法都是一样的。还有 \d{4}Q\d{3} 这句话我不知道你是不是从C#或C++中复制过来的,VBA中这个“”斜杠不是转义符来的。所以要注意改成 d{4}Qd{3} 就可以了。
正则表达式详解?
正则表达式在字符串模式匹配和判定是有着重要的作用,但其语法相对比较复杂,此处碍于篇幅,无法一一解答。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式什么意思?
正则表达式, regex 或者 regexp(有时称为有理表达式)是定义搜索 模式 的 字符 序列。通常这种模式通过 字符串搜索算法用于字符串上的“查找”或“查找并替换”操作 ,或者用于输入验证。它是在 理论计算机科学 和 形式语言 理论中发展起来的一种技术。
这个概念产生于20世纪50年代,当时美国数学家 斯蒂芬·科尔·克莱尼 形式化了正规语言的描述。这一概念和 Unix 文本处理实用程序一起开始被普遍使用。自20世纪80年代以来,存在着不同的用于编写正则表达式 语法 ,一种是 POSIX 标准,另一种是广泛使用的是 Perl 语法。
正则表达式用于 搜索引擎、搜索和替换 文字处理器和 文本编辑器的对话框、文本处理实用程序(如 sed 和 AWK)和 词汇分析。许多 程序设计语言提供regex功能,内置或通过 库。
oracle的正则表达式?
Oracle使用正则表达式离不开这4个函数:
1、regexp_like
2、regexp_substr
3、regexp_instr
4、regexp_replace regexp_like 只能用于条件表达式,和like类似,但是使用的正则表达式进行匹配,语法如下: regexp_substr 函数,和substr类似,用于拾取合符正则表达式描述的字符子串,语法如下: regexp_instr 函数,和instr类似,用于标定符合正则表达式的字符子串的开始位置,语法如下: regexp_replace 函数,和replace类似,用于替换符合正则表达式的字符串,语法如下: 解析一下几个参数的含义: 1、source_char,输入的字符串,可以是列名或者字符串常量、变量。 2、pattern,正则表达式。 3、match_parameter,匹配选项。 取值范围:i:大小写不敏感;c:大小写敏感;n:点号.不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。 4、position,标识从第几个字符开始正则表达式匹配。
5、occurrence,标识第几个匹配组。
6、replace_string,替换的字符串。