正则表达式中i,g,ig,gi,m的区别和含义
发布时间:2025-05-21 15:53:51 发布人:远客网络
一、正则表达式中/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,}","#");//表示将连续出现三个或三个以上的数字替换成“#”。
参考资料来源:百度百科-正则表达式