在线正则表达式测试:,我来为大家科普一下关于正则表达式基本语法详解?下面希望有你要的答案,我们一起来看看吧!
正则表达式基本语法详解
在线正则表达式测试:
概念
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常的强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
1 正则表达式基本语法
两个特殊的符号^和$。他们的作用是分别指出一个字符串的开始和结束。例子如下:
- ^The:表示所有以”The”开始的字符串(”There”,”The cat”等);
- of despair$:表示所以以”of despair”结尾的字符串;
- ^abc$:表示开始和结尾都是”abc”的字符串——呵呵,只有”abc”自己了;
- notice:表示任何包含”notice”的字符串。
像最后那个例子,如果你不使用两个特殊字符,你就在表示要查找的串在被查找串的任意部分——你并不把它定位在某一个顶端。
其它还有*, 和?这三个符号,表示一个或一序列字符重复出现的次数。它们分别表示”没有或更多”,”一次或更多”还有”没有或一次”。下面是几个例子:
- ab*:表示一个字符串有一个a后面跟着零个或若干个b。(”a”, “ab”, “abbb”,……);
- ab :表示一个字符串有一个a后面跟着至少一个b或者更多;
- ab?:表示一个字符串有一个a后面跟着零个或者一个b;
- a?b $:表示在字符串的末尾有零个或一个a跟着一个或几个b。
你也可以使用范围,用大括号括起,用以表示重复次数的范围。
- ab{2}:表示一个字符串有一个a跟着2个b(”abb”);
- ab{2,}:表示一个字符串有一个a跟着至少2个b;
- ab{3,5}:表示一个字符串有一个a跟着3到5个b。
请注意,你必须指定范围的下限(如:{0,2}而不是{,2})。还有,你可能注意到了,*, 和?相当于{0,},{1,}和{0,1}。
,