C#中正则表达式编程(未完,待补充)

对于只存储一个匹配,可用Match类:

一般模式:

  Regex reg = new Regex(string pattern);

  string str = "###############";

  Match ma = reg.Match(str);

  确定是否成功,用 if(ma.Success)判断

  也可以用 if(Regex.IsMatch(str,pattern))

================================================================

通用模式:

对于要存储多个匹配,可用MatchCollection类 对象存储 :(所以这个更通用,记住这个)

 方式一:

     Regex reg = new Regex(string pattern);

       string str = "###############";

       MatchCollection ma = reg.Matches(str);

方式二:

      不再通过new Regex(string pattern);声明来传递正则表达式,而是直接 

    string str = "###############";

    MatchCollection ma = Regex.Matches(str,pattern);

===========================================

另:对是否匹配上的判别,有通用的方式:

if (Regex.IsMatch(str, pattern))

========================

小例子:

  class Program
    {
        static void Main(string[] args)
        {
            string pattern = @"ba{2}d";
            string[] words = new string[]{"bad","boy","baad","baaad","bear","bend"};
            //要遍历数组内每一个字符串,看那个可以匹配baad
            Regex regex = new Regex(pattern);

            foreach (string word in words)
            {
                if (Regex.IsMatch(word, pattern))//如果有匹配
                {
                    MatchCollection  mat = regex.Matches(word);
                    for (int i = 0; i < mat.Count; i++)
                    {
                        Console.WriteLine(mat[i].Value);
                    }

                }   

            }

            Console.ReadKey();
        }
    }

原文地址:https://www.cnblogs.com/Jesuslovesme/p/8452690.html

时间: 2024-08-03 02:01:43

C#中正则表达式编程(未完,待补充)的相关文章

JavaWeb ajax编程(未完待续)

1.Ajax 1.1Ajax的定义 Ajax:(Asynchronous JavaScript And XML)指异步 JavaScript 及 XML. 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术,是基于JavaScript.XML.HTML.CSS新用法. Ajax:只刷新局部页面的技术 JavaScript:更新局部的网页 XML:一般用于请求数据和响应数据的封装 XMLHttpRequest对象:发送请求到服务器并获得返回结果 CSS:美化页面

如何更快的删除String中的空格[未完]

  背景:此文章主要源于网址[1]所描述的,文中大部分方法亦是[1]中实现的. 下面介绍集中删除空格的方法: 方法1:按空格分割后再拼接 /// <summary> /// 按空格分割后拼接--Join /// </summary> /// <param name="str"></param> /// <returns></returns> public static string TrimAllWithSplit

Python基础day-16[面向对象编程(未完)]

面向对象: 相对于面向过程编程来讲,面向对象的扩展性比较强.但是同时带来的问题是可控性差,面向对象编程不像面向过程那样可以很精准的预测结果.面向对象程序一旦开始就由对象之间进行交互解决问题. 面向对象程序设计只是用来解决程序扩展性的. 什么是对象: 举一个例子:每个人都有自己特征和技能,那么每个人就是一个对象.对象就是特征与技能的结合体. 什么是类: 每个人都有自己独有特征也有和别人同样的技能或者特征.例如:基本每个人都会吃饭,都会睡觉,都会说话或者某两个人眼睛都挺大.我们可以把这些共同的技能或

网络编程(未完待续)

三次握手四次挥手 半连接池: 限制的是同一时刻的请求数,而非连接数 这是三次握手 syn_sent是客户端发送请求时的状态listen是服务端一开始的接听状态syn_rcvd是服务端收到请求后的状态established是客户端建立连接后的状态(客户端到服务端这端的管道建立)eatablished是服务端建立连接后的状态(服务端到客户端这端的管道建立)seq = x 请求的时候附带的序列号(暗号)ack = x+1 是回复请求, 并把刚刚拿到的序列号+1 四次挥手 C/S B/S client<

FDU--- (bfs+dfs 未完待补充)

D - 小明的迷宫 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description 小明误入迷宫,塞翁失马焉知非福,原来在迷宫中还藏着一些财宝,小明想获得所有的财宝并离开迷宫.因为小明还是学生,还有家庭作业要做,所以他想尽快获得所有财宝并离开迷宫. Input 有多组测试数据. 每组数据第一行给出两个正整数n,m(0<n,m<=100).代表迷宫

java 字符串(正则表达式)未完

正则表达式: 其实就是用于操作字符串的一个规则.(以某种方式描述字符串) 基础: 1.描述一个整数:\d(表示一位数字) \\d(\\ 表示要插入一个正则表达式)表示一位数字 \\\\  插入一个普通的反斜杠 2.一个或多个之前的表达式:使用  +  (-?\\d+     表示:可能有一个负号后面跟着一位或多位数) 3.表示 或 操作: | ("+911".matches("(-|\\+)?\\d+")

Android中Dialog对话框(未完待续)

布局文件xml: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5

Python核心编程(第二版) 第二章习题答案 未完待续

2-2.程序输出.阅读下面的Python脚本.#!/usr/bin/env python1 + 2 * 4(a)你认为这段脚本是用来做什么的?(b)你认为这段脚本会输出什么?(c)输入以上代码,并保存为脚本,然后运行它,它所做的与你的预期一样吗?为什么一样/不一样?(d)这段代码单独执行和在交互解释器中执行有何不同?试一下,然后写出结果.(e)如何改进这个脚本,以便它能和你想象的一样工作?答:(a)这段脚本是用来计算表达式的值(b)脚本会输出9(c)保存为脚本,运行后没有输出.和自己预期不一样.

liferay中数据库表的解析未完

页面布局 1:表layout 主要的字段有: 字段 privateLayout 0表示的是公开的页面 字段 layoutId 如果在同一个社区中有很多的界面,layoutId表示各个界面,按照顺序排列的 字段 parentLayoutId 如果一个页面下有子页面需要指定parentLayoutId 字段 priority 指明同一个社区中处于同一级别的页面按什么优先顺序排列 字段 type_ 取值范围(portlet,Embedded,Artical,url,link to page),如果将t