zoukankan      html  css  js  c++  java
  • 非常有用的正则表达式

    在网上经常看有人找匹配这种字符串的正则表达式:"1231232,3454545,456546,45656,456"
    或者:"ae-fgerg-drg-ert-hj"
    明白了吗 总之一句话:要匹配以任意字符隔开的各种格式的字符串
    看上去好像很难哦非常有用的正则表达式 - assassinx@126 - assassinXs Blog

    easy
    看我的
    匹配以逗号隔开的任意整数:

    var ids = document.getElementById('TextBox1').value;
    		var reg = /^\d*(,\d+)*$/;
    		if (reg.test(ids)) 
    			return true
    		else {
    			alert("新闻编号列表 格式不对, 示例: 4569,4586,3569")
    			return false
    		}
    



    来分析一下:
    ^跟$为正则的开始和结尾 不用多说了吧

    \d* 指定必须以数字开头

    ,\d+ 作为第一组数字后面的限定(必须为逗号加数字)

    哈哈关键地方到了非常有用的正则表达式 - assassinx@126 - assassinXs Blog
    (,\d+)*  逗号加数字的形式可出现0到多次

    就这样联合开始出的整数验证就实现我们要的效果了
    是不是很简单非常有用的正则表达式 - assassinx@126 - assassinXs Blog

    下面这个也是一个关于正则表达式的应用(c#):

    class Program
    {
        static void Main(string[] args)
        {
            result.Clear();
            find("sdfa3<6233810>45ss//<345><898><12234>--<112><911>><779>***<55781818>//u");
    
            foreach (var item in result)
                Console.WriteLine(item);
        }
    
        static IList<string> result = new List<string>();
        static void find(string str)
        {
            int indx = 0;
            //正则其实很简单[0-9]+代表数字组合任意多个
            //\<代表以尖括号开头\>代表以尖括号结尾 
            //外面的圆括号代表这种组合任意多个
            Regex r = new Regex(@"(\<[0-9]+\>)+");
            Match m = r.Match(str);
            indx = m.NextMatch().Index;
    
            if (m.Value.Length > 0)
                result.Add(m.Value);
            //Console.WriteLine(m.Value);
            //如果他的下一个匹配是有值的则继续进行递归匹配
            //直到把所有的都匹配完为止
            if (m.NextMatch().Length > 0)
                find(str.Substring(indx));
        }
    }
    

    简单吧^_^

  • 相关阅读:
    HDU 5087 (线性DP+次大LIS)
    POJ 1064 (二分)
    Codeforces 176B (线性DP+字符串)
    POJ 3352 (边双连通分量)
    Codeforces 55D (数位DP+离散化+数论)
    POJ 2117 (割点+连通分量)
    POJ 1523 (割点+连通分量)
    POJ 3661 (线性DP)
    POJ 2955 (区间DP)
    LightOJ 1422 (区间DP)
  • 原文地址:https://www.cnblogs.com/assassinx/p/1794489.html
Copyright © 2011-2022 走看看