• 揭秘正则表达式 我的lxfRegex现实[源]


    正则表达式的用途十分的广泛,常用在搜索和替换,几乎所有的编程语言都对其支持各种的地方,如js,java ,c#都有自己的实现类,所以在使用起来也是十分的方便.
     很想弄明白他在每种语言中是如何做的,于是在没有弄得源码前,先动手用C#语言去做了一个支持正则表达式实现的类,目前实现功能十分的简单,支持IsMatch和Relace的处理基本字符的实现,
    代码有诸多的不足,希望多多见谅.

    示例代码:

    lxfRegex lxf = new lxfRegex(txtregex.Text);


                StringBuilder sb 
    = new StringBuilder();
                sb.AppendLine(
    "括号结果");

                
    foreach (MatchUnit mu in lxf.Matches(txtSrc.Text))
                
    {
                    sb.AppendLine(
    "Match匹配" + ind++);
                    
    int i = 0;
                    
    for (int j = 0; j < mu.Groups.Count; j++)
                    
    {
                        sb.AppendLine(
    "Group" + j + mu.Groups[j].Value);

                        
    foreach (CaptureUnit t in mu.Groups[j].Captures)
                        
    {
                            sb.Append(
    " Capture" + i);
                            sb.Append(
    " Index:" + t.Index + " Length:" + t.Length);
                            sb.Append(
    " = " + t.Value);
                            sb.AppendLine();
                            i
    ++;
                        }

                    }

                }

                
    this.txtMatch.Text = sb.ToString();


    演示位置:
    http://www.iyuyan.com/regex爱语言
    下载源码:

    源代码
  • 相关阅读:
    IOS开发——01_第一个OC程序
    01_iOS开发需要准备什么?
    正则表达式随笔
    .net4.6版本前设置window子窗口位置主窗口闪烁
    [CF1486D] Max Median
    [CF1487D] Pythagorean Triples
    [CF1487E] Cheap Dinner
    [CF1490E] Accidental Victory
    [CF1490F] Equalize the Array
    [CF1490G] Old Floppy Drive
  • 原文地址:https://www.cnblogs.com/lxf120/p/1023972.html
Copyright © 2020-2023  润新知