写这篇文章,主要目的是让刚入行的同学们能够看懂或者尝试自己写出正则表达式,希望对同学们有所帮助,大神们请自行掠过。
先从几个基础符号说吧。
1.两个特殊的符号'^' '$' 他们分别代表一个字符串的开始和结束,比如:
"^ab": 表示所有以"ab"开始的字符串;
"ab$":表示所有以ab结尾的字符串;
"^abc&":表示开始和结尾都是abc的字符串;
而"abc"则代表串的任何部分,而不是头或尾。
2.'' '+' '?'表示一个或一序列字符重复出现的次数。它们分别表示“没有或更多”,“一次或更多”还有“没有或一次”。下面是几个例子:
"ab":表示一个字符串有一个a后面跟着零个或若干个b。("a", "ab", "abbb",……): a+nb (n为自然数)
"ab+":表示一个字符串有一个a后面跟着至少一个b或者更多 : a+nb (n为自然数且不为0)
"ab?":表示一个字符串有一个a后面跟着零个或者一个b : a 或者 ab
"a?b+$":表示在字符串的末尾有零个或一个a跟着一个或几个b。
3.单独说一下大括号 {} 用以表示重复次数的范围, 比如:
"ab{2}" : "abb";
''ab{2,}'': "a+nb" (n>=2);
'''ab{2,5}': a+nb (2<=n<=5)
注意了:范围符号必须指定范围的下限,上限则无所谓 比如''ab{,2}''就是错误的;
'.' 这个点符号可以替代任何字符
"a.[0-9]":表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;
"^.{3}$":表示有任意三个字符的字符串(长度为3个字符);
5.中括号表示某些字符允许在一个字符串中的某一特定位置出现:
"[ab]":表示一个字符串有一个"a"或"b"(相当于"a¦b");
"[a-d]":表示一个字符串包含小写的'a'到'd'中的一个(相当于"a¦b¦c¦d"或者"[abcd]");
"^[a-zA-Z]":表示一个以字母开头的字符串;
"[0-9]%":表示一个百分号前有一位的数字;
",[a-zA-Z0-9]$":表示一个字符串以一个逗号后面跟着一个字母或数字结束。
这就是超级基础的正则表达式了,虽然说平时开发很少用的到,网上也一大堆,但就当是兴趣稍微研究一下吧-_-
希望对大家有所帮助!!!