首页技术正则表达式的使用方法 正则表达式是谁发明的

正则表达式的使用方法 正则表达式是谁发明的

编程之家2026-07-031093次浏览

大家好,今天来为大家分享正则表达式的使用方法的一些知识点,和正则表达式是谁发明的的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

正则表达式的使用方法 正则表达式是谁发明的

正则表达式的使用有什么技巧吗

正则表达式(regular expression)是根据字符串集合内每个字符串共享的共同特性来描述字符串集合的一种途径。

正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达式不是问题。

许多程序设计语言都支持利用正则表达式进行字符串操作。

Java.util.regex主要包含以下三类:

①pattern类:<font color=red>pattern对象是一个正则表达式的编译表示。Pattern类没有公共构造方法。要创建一个Pattern对象,你必须首先调用其公共静态编译方法,它返回一个Pattern对象。该方法接受一个正则表达式作为它的第一个参数。

②Matcher类:Matcher对象是对输入字符串进行解释和匹配操作的引擎。与Pattern类一样,Matcher也没有公共构造方法。你需要调用Pattern对象的matcher方法来获得一个Matcher对象。

正则表达式的使用方法 正则表达式是谁发明的

③PatternSyntaxException:PatternSyntaxException是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

如何使用正则表达式

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]表示一个字符集,匹配括号中字符的其中之一。

什么是正则表达式

正则表达式,又称规则表达式。是计算机科学的一个概念。

正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

扩展资料

正则表达式的作用:

1、匹配

检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如:

String str="abc";

String reg="[a-zA-Z]\\d?";//次表达式表示字符串的第一位只能是字母,第二位只能是数字或没有boolean flag=str.matches(reg);//返回结果为true。

2、切割

所谓切割,即是按一定的规则将字符串分割成多个子字符串,如:

String str="zhangsan,lishi,wangwu"。

String reg=",";//表示以逗号作为切割符。

String[] arr=str.split(reg);//返回结果为{“zhangsan”,"lisi","wangwu}。

3、替换

即将字符串中符合规则的字符替换成指定字符,如:

String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376"。

str.replaceAll("\\d{3,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。

参考资料来源:百度百科-正则表达式

关于正则表达式的使用方法的内容到此结束,希望对大家有所帮助。

len函数是什么意思,excel中len函数是什么意思css运行(css代码在哪做)