您当前的位置:首页 > 互联网教程

正则表达式中i,g,ig,gi,m的区别和含义

发布时间:2025-05-21 15:53:51    发布人:远客网络

正则表达式中i,g,ig,gi,m的区别和含义

一、正则表达式中/i,/g,/ig,/gi,/m的区别和含义

1、/i忽略大小写的功能,是不能单独使用的。

2、/g在全文中查找所出现的指定字符串。

3、/ig忽略大小写在全文中查找指定字符串。

4、/gi/gi和/ig作用是一样的,都是忽略大小写在全文中查找指定字符串。

5、正则表达式的通项:/pattern/flags即(/模式/标记)

6、new RegExp("pattern"[,"flags"])(即new RegExp("模式"[,"标记"]))

7、pattern(模式)表示正则表达式的文本

8、flags(标记):如果指定此项,flags可以是下面值之一:

9、gi: both global match and ignore case(匹配所有可能的值,也忽略大小写)

10、表达式建立同样的正则表达式例如:

11、正则表达式:以字符串的形式规定一个规则,在文本中匹配并找出符合的字符串。

12、re库中常用的六个函数分别是match、compile、sub、split、search、findall,这些函数的用法基本都是相同的,只是目的不一样。

13、意义:从string文本里以pattern这个规则匹配对应的字符串

14、提前预编译好一个正则,后续可直接调用其他正则库中的函数

15、以正则表达式为分隔符,对文本进行分隔,返回由分隔后的所有字符组成的列表

16、返回字符串中所有正确匹配项组成的列表,即列表中每个元素都能跟正则表达式匹配

17、将字符串c中符合正则表达式a的字符全换成字符b,并返回

二、正则表达式/^[^\]+\/是什么意思

1、两个/之间的字符串表示一个正则表达式。[^\,]表示任何非,(逗号)的字符,+表示一个或者多个。

2、?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。

3、例如,对于字符串“oooo”,“o+”将尽可能多地匹配“o”,得到结果[“oooo”],而“o+?”将尽可能少地匹配“o”,得到结果 ['o','o','o','o']

4、正则表达式是对字符串(包括普通字符(例如,a到 z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合。

5、组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

三、正则表达式“或“的使用

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

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

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

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

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

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

String str="zhangsan,lishi,wangwu"。

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

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

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

String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376"。

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

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