今天我来带大家了解一下正则表达式
- 首先我们要了解一下什么是正则表达式,正则表达式是来用于定义一些字符串的规则,当然计算机肯定是可以根据正则表达式来检查某一个字符串符合规则;
- 我们通常都使用字面量的方式来创建正则表达式,这样的创建会更加灵活;
- 如果我们要创建一个正则表达式,去检查一个字符串中是否含有字母,代码就可以如下:
- 在上述我们发现这样的写法的话到第二十六个字母的话代码就会太长,所以为了减少代码量我们使用中括号[ ]来表示范围就会更简洁;
下面是各种表达字符的:(任何一个字符都可以是正则表达式的字符)
[abc]表示一个字符,会是a或者b或者c;
[a-z]表示任意一个小写字母;
[A-Z]表示任意一个大写字母;
[0-9]表示任意一个数字;
[1-5]表示1到5这五个数字中的某一个;
[a-zA-Z0-9]表示所有的字母和数字中的某一个;
上面的也是我自己用的比较多的,并非全部。
- 了解了如何表达字符,接下来我们就要了解一下字符的数量词;数量词是用来表式字符要出现的次数,数量词只对它前面一个内容起作用,当然我们也可以叫它“量词”;
下列是一些表达量词的:
{5,}表示最少出现5次,无上限;
{5,10}表示最少5次,最多10次;
{5} 表示必须5次;
? 表示0次或一次;
* 表示0次或多次;
+ 表示1次或多次;
- 了解了这么多,通过上面的讲解,接下来我来列举一些自己发觉到的正则表达式;
匹配手机号:
匹配腾讯QQ号:
匹配中国身份证:
匹配中国邮政编码:
匹配ip地址:
匹配特定的数字:
匹配特点的字符串:
验证一些时间段
- 小结:
正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。这不是最重要的,重要的是正则表达式一直都是个让我觉得很郁闷的一个东西,我觉得创造正则表达式的那个家伙简直就是个奇葩,要不就是外星人,不过虽然是这样,但我还是要学会它。