
每种语言都有使用正则表达式的不同方法. 无论是匹配项还是替换项,无论正则表达式写成哪种语言都一样.
一,正则表达式的基本语法
使用正则表达式时,它将匹配具有固定模式的字符串. 此模式是一个正则表达式.
正则表达式可以是固定的字符串,例如: “ abcd”,此类表达式将根据不同的匹配模式,所有匹配项或字符在字符串中查找子字符串. 按顺序匹配a,b,c,d.
但是,正则正则表达式返回以固定模式匹配字符串类型,例如邮箱,它需要一些特殊的语法.
1,[]个字符集
字符集是一些字符的集合,可以使用&& []创建集合和集合的交集.
应注意,[]集合仅表示正则表达式中的一个字符匹配,而匹配多个字符则需要多个修饰符.
[abc]仅Abc 3个字符集
[a-z]包含26个字符,从a到z
[^ a-z]除a到z以外的所有字符的集合. []中的^符号表示补码,但还有其他含义.
[a-z && [^ a-c]]除abc外的所有小写字母
[a-zA-Z0-9 @! #]所有小写字母,所有大写字母,所有数字以及@的集合. #个字符.
2. 预定义字符集
某些规定的字符集等效于一个[]
. 任何一个字符

/ dAny数字,等于[0-9]
/ w任何单词字符,等效于[a-zA-Z0-9]
/ s等于[\ t \ n \ x0B \ f \ r]的任何空白字符,例如: 空格,换行符,转义符等
/ D不是数字
/ W个非单词字符
/ S个非空白字符
3. 量词
量词遵循特定字符或正则表达式的集合或分组,指示单位匹配的次数,例如: *,将0匹配到任意数量的字符.
一个?表示0或1 a
a *表示0或a的任意数量
a +表示1等于任何数字a
a {n}表示n a
a {n,}表示n等于a的任意数量
a {n,m}表示n到m a
用法: 是吗?
(/ d [agc])?

4. 分组()
()表示正则表达式可以看作一个整体,并且|可以用来表示或.
就分组的意义而言,几个字符组成一个整体,可以修改其量词.
示例(一|二)?表示连续的一两个,存在一次或不存在.
5,^和&符
例如: ^ a // d {3} b&
正则表达式表示匹配项正则表达式怎么使用,以a开头,后跟三位数,以b结尾.
应注意的是,在使用整个匹配的字符串而不是子字符串之后,^&用于匹配. 替换和拆分语法不使用此字符.
我个人觉得在Java函数中使用它的效果不是很好,并且我还没有找到必须使用的情况.
6. 字符转义的注意事项.
不涉及任何编程语言时,仅考虑在正则表达式内进行转义. 当您需要使用正则表达式已经使用过且具有特殊含义的字符的原始含义时,您需要使用转义字符.
例如: 需要匹配吗? ,正则表达式应为: \?
\正则表达式应为: \\
大致这些:
\\\
* \ *

+ \ +
. \.
()\(\)
[] \ [\]
{} \ {\}
^ \ ^
$ \ $
关于: 写在[]外面的&&字符无效. 当写在[]内时,只能由单个&使用正则表达式怎么使用,并且&&用作交集运算. &&为空后,对集合没有影响.
在Java中转义:
将正则表达式中所有使用的\转义为\\
如果[\ d] +转义为: [\\ d] +
\\转至: \\\\
第二,使用不同语言的正则表达式
1. 在Java中使用.
使用String类型附带的函数:
matches()方法: 匹配整个字符串,如果匹配则返回true,否则返回false.

String str = "abc123!@#"; String regex1 = "[\\w!@#]+"; String regex2 = "[\\w]+"; System.out.println(str.matches(regex1)); //true System.out.println(str.matches(regex2)); //false
split(),split方法,返回一个字符串数组.
String str = "www.baidu.com"; String regex1 = "\\."; String[] splitStrs = str.split(regex1); System.out.println(Arrays.toString(splitStrs)); //[www, baidu, com]
replaceAll(),替换满足表达式的字符串中的所有子字符串.
String str = "abc123ab56abc"; String regex1 = "abc"; String replaceAll = str.replaceAll(regex1,"***"); System.out.println(replaceAll); //***123***456***
还有一个replaceFirst(),用法相同,只是替换了第一个子字符串.
使用模式的相关类:
关于匹配方法: 这三种方法都返回布尔值.
matches()匹配整个字符串
查找()以查找是否有子字符串
lookingAt()匹配第一个字符的子字符串
模式模式= Pattern.compile(“ [\\ d] {3}”); //使用正则表达式创建模式
匹配器匹配器= pattern.matcher(“ abc123dgh”); //为给定的字符串创建一个匹配器
布尔结果1 = matcher.matches(); //错误
布尔结果2 = matcher.find(); //是
布尔结果3 = matcher.lookingAt(); //错误
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-190630-1.html
我觉得iOS9其实挺好的
送项目拉动它们的经济