C#的正则表达式
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text.RegularExpressions; namespace codeTest
{
class Program
{
static void Main(string[] args)
{
string[] strArray = { "1111-222-333", "1111-2222-3333" };
string pattern = @"^\d{4}-\d{3}-\d{3}$"; foreach (var item in strArray)
{
if (Regex.IsMatch(item, pattern))
{
Console.WriteLine("{0} is vaild", item);
}
else
{
Console.WriteLine("{0} is not vaild", item);
}
}
RegexIsMacth();
RegexReplace();
RegexSplit();
RegexMacths();
RegexGroup();
Console.ReadLine();
} static void RegexIsMacth()
{
string input = " this is my name my name";
string pattern = @"\s\w{4}\s";
Match match = Regex.Match(input,pattern);
while(match.Success)
{
Console.WriteLine(match.Groups[].Value);
match = match.NextMatch();
}
} static void RegexReplace()
{
string input = " this is my name my name";
string pattern = @"\s\w{4}\s";
string replacement = " 匹配 ";
Console.WriteLine(input);
Console.WriteLine(Regex.Replace(input, pattern, replacement));
} static void RegexSplit()
{
string input = "1.A 2.B 3.C 4.D ";
string pattern = @"\s";
foreach (var item in Regex.Split(input,pattern))
{
if (!string.IsNullOrEmpty(item))
{
Console.WriteLine(item);
}
}
} static void RegexMacths()
{
Regex regex = new Regex(@"\d+");
MatchCollection matchs;
matchs = regex.Matches("123abc333adsa123123asdasd123123");
foreach (Match item in matchs)
{
Console.WriteLine("value is {0},index is {1}",
item.Value,item.Index);
Console.WriteLine("Result is {0}",item.Result("[$&]"));
}
} static void RegexGroup()
{
string input = "born: July 28, 1989";
string pattern = @"\b(\w+)\s(\d{1,2}),\s(\d{4})\b";
Match match = Regex.Match(input, pattern);
for (int i = ; i < match.Groups.Count; i++)
{
Console.WriteLine("Group value is {0},index is {1}",match.Groups[i].Value,match.Groups[i].Index);
}
}
} }
推荐使用微软的Regular Expression Tester工具测试
C#的正则表达式的更多相关文章
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- Python高手之路【五】python基础之正则表达式
下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...
- C# 正则表达式大全
文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...
- C#基础篇 - 正则表达式入门
1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- 【JS基础】正则表达式
正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...
- JavaScript 正则表达式语法
定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...
- [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)
数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
随机推荐
- UDS帧传输
说明 在UDS协议中,其中有一点我视作为基础,即帧传输.也即是数据传输这一块,在UDS的帧传输中,分为4种: SF单帧 FF第一帧 CF连续帧 FC流控制帧 首先,我们抛开以上的东西,假设一个销售商( ...
- Android Studio日志工具的使用
Android Studio的LogCat工具 Verbose:对应Log.v(),这个方法用于打印那些最为琐碎的信息,意义最小的日志信息.是Android日志里面级别最低的一种. Debug:对应L ...
- 绝对实用 NAT + VLAN +ACL管理企业网络
在企业中,要实现所有的员工都能与互联网进行通信,每个人各使用一个公网地址是很不现实的.一般,企业有1个或几个公网地址,而企业有几十.几百个员工.要想让所有的员工使用这仅有的几个公网地址与互联网通信该怎 ...
- 51Nod 1380 夹克老爷的逢三抽一
Description 一开始有一个环,可以选择删除一个元素获得他的权值,同时删除与它相邻的两个元素,其他元素重新形成环,问能获得的最大价值. Sol 堆+贪心. 一开始从堆中加入所有元素,然后取出一 ...
- jtable插件api
官网2016-03-15 事例图: 一.客户端配置 1. paging boolean default:false 配置是否分页,果断改为true. 2. pageList string defaul ...
- phpcms新闻轮播图实现
首页如果有新闻的轮播图,点击图片可以进入相关的新闻.因为已经使用外部js轮播插件,所以想不修改插件进行轮播 我用的js插件是yx-rotaion插件,配合phpcms的get工具箱对新闻进行读取并抽取 ...
- HTML 返回顶部的样式
.fhdb{ width:50px; height:50px; position:fixed; //可以用来定义元素的固定定位. right:20px; //距离右侧20像素 botto ...
- MySQL Plugin 'InnoDB' init function returned error
. . 在MySQL的配置文件中,设定default-table-type=InnoDB,发现MySQL无法正常的启动,错误日志中给出了如下的信息: 150210 18:11:19 mysqld_sa ...
- ThinkPHP增加数据库字段后插入数据为空的解决办法
今天用ThinkPHP做了一个简单的商品发布系统,数据库本来只有四个字段id,name,url,image.id是主键,name是商品名称,url是商品链接,image是商品图片,做的差不多了,发现还 ...
- 7.js模式-装饰者模式
1. 装饰者模式 给对象动态增加职责的方式称为装饰者模式. Function.prototype.before = function(beforefn){ var _self = this; retu ...