正则表达式的学习及示例

前端之家收集整理的这篇文章主要介绍了正则表达式的学习及示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、正则表达式基础

正则表达式在程序设计中有着重要的位置,经常用于处理字符串信息。主要用于:

(一)数据验证(Regex.IsMatch)

可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。

(二)替换文本(Regex.Replace)

可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

(三)从字符串中提取子字符串(Regex.Spli t)

可以查找文档内或输入域内特定的文本。

下面主要说明正则表达式的语法:

正则表达式一般由普通字符(例如a-z的字母,0-9的数字)、元字符、限定符组成。元字符只能匹配一个字符,限定符可以匹配自身重复出现的次数。下表列出常用的元字符和限定符

元字符

^

用于匹配行首,表示匹配开始。例如:^[0-9]$

$

用于匹配行尾,表示匹配结束。例如:^[0-9]$

\w

用于匹配单词字符,包括汉子、字母、数字和下划线

\W

用于匹配任意的非单词字符

\s

用于匹配任意的空白字符,包括换行符、空格、制表符

\S

用于匹配任意的非空白字符

\d

用于匹配任意的数字,包括0、1、2、3、4、5、6、7、8、9

\D

用于匹配任意的非数字字符

.

用于匹配除换行符以外的任意字符。例如^…$匹配abc、123、_1a

限定符

?

用于限定指定的字符出现0或1次。^abc?$可以匹配abc或ab

*

用于限定指定的字符至少出现0次。^ab$可以匹配a、ab、abb等

+

用于限定指定的字符至少出现1次。^ab$可以匹配ab、abb、abbb

{n}

用于限定指定的字符出现n次。^c{5}$匹配ccccc

{n,}

用于限定指定的字符至少出现n次.^c{5,}匹配ccccc、cccccc

{n,m}

用于限定指定的字符至少出现n次,至多出现m次。

注:”\.”用于匹配普通字符”.”,若直接用”.”则表示元字符。

二、正则表达式的验证用法(主要用到Regex.IsMatch(str1,正则表达式))

数字验证:

A.验证数字密码的长度—“^\d{6,18}$”

分析:”^”—匹配开始,”\d{6,18}”—匹配至少6位、至多18位任意数字,”$”—匹配结束。

B.验证电话号码—“^(\d{3,4}-)?\d{6,8}$”

分析:”^”—匹配开始,”\d{3,4}”—匹配3位或4位任意数字(电话区号),”?”—表示”(\d{3,4}-)”出现0或1次(电话区号可有可无),”\d{6,8}”—匹配至少6位、至多8位任意数字(本地号码),”$”—匹配结束。

字母验证:

A.验证大写字母—“^[A-Z]+$”

分析:”^”—匹配开始,”[A-Z]”—匹配26个大写字母,”+”—表示”[A-Z]”至少出现一次,”$”—匹配结束。

B.验证汉字—“^[\u4e00-\u9fa5]{1,}$”

网络验证:

A.验证E-mail格式—

"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"

B.验证IP地址—"(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)"

C.验证URL—"http(s)?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?"

猜你在找的正则表达式相关文章