首页新闻找找看学习计划

这种正则怎么写

0
悬赏园豆:5 [待解决问题]

货品[货品名称]的单价小于成本价!单据是否保存?

 

货品[*]的单价小于成本价!单据是否保存?

* 表示任意字

C# 正则怎么写?

wunaigong的主页 wunaigong | 初学一级 | 园豆:4
提问于:2013-05-03 17:24
< >
分享
所有回答(3)
0
Match mc = Regex.Match("asdf[asdf]adsf", @"\[(?<val>.*?)\]");
            if (mc.Success)
            {
                Console.WriteLine(mc.Groups["val"].Value);
            }
PandaIT | 园豆:325 (菜鸟二级) | 2013-05-03 17:32
0

string regexExpression = @"(?<=(货品\[))[\w\W]+?(?=\]的单价)");

这个正则的意思,匹配以"货品["开头,并且以"]的单价"结尾的数据.匹配到的结果不包括"货品["和"]的单价".

public static string GetTextInTag(string strInput, string startTag, string endTag) {
      string expression = @"(?<=(" + @startTag + @"))[\w\W]+?(?=" + @endTag + ")";
      Regex regMatch = new Regex(expression, RegexOptions.Singleline);
      Match mth = regMatch.Match(strInput);
      return mth.Value.ToString();
    }
三阶 | 园豆:1436 (小虾三级) | 2013-05-03 17:52
0

哪有那么麻烦,直接对应你的字符串写就OK了 

货品[[].*[]]的单价小于成本价[!]单据是 否保存[?]  

匹配的又正确,而且匹配时的速度更快,正则越详细,匹配时速度越快。

墨猦 | 园豆:668 (小虾三级) | 2013-05-05 00:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册