第一步先要引入有关正则式的命名空间:
using System.Text.RegularExpressions;
第二步用指定的正则式构建一个正则表达式对象,下面的正则式是用来搜索长度为10的a-z的英文字母:
Regex obj = new Regex("[a-z]{10}");
最后,根据正则式在指定数据中检索匹配项,如果匹配IsMatch方法就会返回true。
MessageBox.Show(obj.IsMatch(“asdfghjkl”).ToString());
3个重要的正则式命令:
在正则表达式中有3种类型的括号:
方括号“[”:方括号“[”内是需要匹配的字符。
花括号"{":花括号"{"内是指定匹配字符的数量。
圆括号"(":圆括号"("则是用来分组的。
插入符号"^"表示正则式的开始。
美元符号"$"表示正则式的结束。
验证像ISOS190203 或 isos820830那样的前3位是不区分大小写的英文字母,剩余8位是数字。
在前面的表达式中只能匹配前3个是小写英文字母的发票编号,如果我们输入大写字母那就不能匹配了。所以为了确保前3个字母是不区分大小写的,我们就要用表达式^[a-zA-Z]{3}。
^[a-zA-Z]{3}[0-9]{7}$
验证简单的网址URL格式:
第一步:检查是否存在www:
^www.
第二步:域名必须是长度在1-15的英文字母:
. [a-z]{1,15}
第三步:以.com或者.org结束:
. (com|org)$
完整的表达式如下:
^www[.][a-z]{1,15}[.](com|org)$
YYYY/MM/DD格式的日期:
^(1[9][0-9][0-9]|2[0][0-9][0-9])[- / .]([1-9]|0[1-9]|1[0-2])[- / .]([1-9]|0[1-9]|1[0-9]|2[0-9]|3[0-1])$
也可以用以下的快捷命令来简化正则表达式:
实际命令 快捷命令
[0-9] d
[a-z][0-9][_] w
0次或多次发生 *
至少一次发生 +
0次或1次发生 ?