Regex类表示.NET Framework 正则表达式引擎。可用于快速分析大量的文本来查找特定的字符模式 ;若要提取,编辑、 替换或删除文本子字符串 ;并将提取的字符串添加到集合以生成报告。
一、正则表达式类Regex类用法
-
using System;
-
using System.Collections.Generic;
-
using System.Linq;
-
using System.Text;
-
using System.Text.RegularExpressions;
-
namespace TestRegex
-
{
-
class Program
-
{
-
static void Main(string[] args)
-
{
-
replaceString();
-
getFieldValue();
-
getSpecifyValue();
-
judgeJSONString();
-
Console.ReadLine();
-
}
-
static void replaceString()
-
{
-
string line = "ADDR=1234;NAME=ZHANG;PHONE=6789";
-
Regex reg = new Regex("NAME=(.+);");
-
string modified = reg.Replace(line, "NAME=WANG;");
-
Console.WriteLine(modified + "\n");
-
}
-
///
-
-
/// 抽取某些特征数据
-
///
-
-
///
-
static void getFieldValue()
-
{
-
string content =
-
"src=C:\\Users\\Administrator\\Desktop\\WeixinImg\\08.jpg\r\nDOS图片1\r\nsrc=C:\\Users\\Administrator\\Desktop\\WeixinImg\\10.jpg\r\nDOS图片2\r\n";
-
Regex reg = new Regex(@"src=(.+)");
-
-
List urlList = new List();
-
/* 遍历源串,取出所有的src=后面的地址 */
-
foreach (Match re in reg.Matches(content))
-
{
-
Console.WriteLine("{0}", re.Groups[1].Value);
-
}
-
}
-
static void getSpecifyValue()
-
{
-
string line = "lane=1;speed=30.3mph;acceleration=2.5mph/s";
-
Regex reg = new Regex(@"speed\s*=\s*([\d\.]+)\s*(mph|km/h|m/s)*");
-
Match match = reg.Match(line);
-
Console.WriteLine(match + "\n");
-
}
-
static void judgeJSONString()
-
{
-
string testData =
-
"{\"url\":\"http:\\/\\/mmbiz.qpic.cn\\/mmbiz\\/1Y1o1ZhehiaBibw7nnxg20e67JrhWsWOmEYZz9TKah84LlNZGr89iclu965hdWkibQJ5S51icvH4nHrmnBwpEvbibr0w\\/0\"}";
-
Regex rgx = new Regex(@"\{.*\}", RegexOptions.IgnoreCase);
-
if (rgx.IsMatch(testData))
-
{
-
testData = rgx.Match(testData).Value;
-
Console.WriteLine("string is JSON!");
-
Console.WriteLine(testData);
-
}
-
else
-
Console.WriteLine("string isn't JSON!");
-
}
-
}
-
}
二、正则表达式符号模式:
说明:
由于在正则表达式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字符已经具有一定特殊意义,如果需要用它们的原始意义,则应该对它进行转义,例如希 望在字符串中至少有一个“ \ ”,那么正则表达式应该这么写: \\+ 。
参考文献:
阅读(2299) | 评论(0) | 转发(0) |