当前位置: 首页 > news >正文

公司展示网站模板免费下载网页设计策划

公司展示网站模板免费下载,网页设计策划,陕西省城乡住房建设厅官网,第三方网站C# 正则表达式完全指南 C#通过 System.Text.RegularExpressions 命名空间提供强大的正则表达式支持。本指南将详细介绍C#中正则表达式的使用方法、性能优化和最佳实践。 1. 基础知识 1.1 命名空间导入 using System.Text.RegularExpressions;1.2 基本使用 public class Re…C# 正则表达式完全指南 C#通过 System.Text.RegularExpressions 命名空间提供强大的正则表达式支持。本指南将详细介绍C#中正则表达式的使用方法、性能优化和最佳实践。 1. 基础知识 1.1 命名空间导入 using System.Text.RegularExpressions;1.2 基本使用 public class RegexBasics {public void BasicExamples(){string text Hello, my phone is 123-456-7890;// 创建正则表达式对象Regex regex new Regex(\d);// 检查是否匹配bool isMatch regex.IsMatch(text);// 查找第一个匹配Match match regex.Match(text);if (match.Success){Console.WriteLine($Found: {match.Value});}// 查找所有匹配MatchCollection matches regex.Matches(text);foreach (Match m in matches){Console.WriteLine($Found: {m.Value});}} }1.3 正则表达式选项 public class RegexOptions {public void OptionsExample(){// 不区分大小写Regex caseInsensitive new Regex(hello, RegexOptions.IgnoreCase);// 多行模式Regex multiline new Regex(^start, RegexOptions.Multiline);// 忽略空白字符和注释Regex ignored new Regex(\d # 匹配数字\s* # 可选的空白字符\w # 匹配单词, RegexOptions.IgnorePatternWhitespace);// 编译正则表达式以提高性能Regex compiled new Regex(\d, RegexOptions.Compiled);} }2. 正则表达式语法 2.1 字符匹配 public class CharacterMatching {public void MatchingExamples(){string text C# 10.0 is awesome! Price: $99.99;// 匹配数字Regex digits new Regex(\d);foreach (Match m in digits.Matches(text)){Console.WriteLine($Number: {m.Value});}// 匹配单词Regex words new Regex(\w);var wordMatches words.Matches(text).CastMatch().Select(m m.Value).ToList();// 匹配空白字符string[] parts Regex.Split(text, \s);// 自定义字符类Regex vowels new Regex([aeiou], RegexOptions.IgnoreCase);var vowelMatches vowels.Matches(text).CastMatch().Select(m m.Value).ToList();} }2.2 分组和捕获 public class GroupingExample {public void GroupExamples(){string text John Smith, Jane Doe, Bob Johnson;// 基本分组Regex regex new Regex((\w)\s(\w));foreach (Match match in regex.Matches(text)){Console.WriteLine($Full name: {match.Groups[0].Value});Console.WriteLine($First name: {match.Groups[1].Value});Console.WriteLine($Last name: {match.Groups[2].Value});}// 命名分组Regex namedRegex new Regex((?first\w)\s(?last\w));foreach (Match match in namedRegex.Matches(text)){Console.WriteLine($First: {match.Groups[first].Value});Console.WriteLine($Last: {match.Groups[last].Value});}} }3. 高级特性 3.1 替换操作 public class ReplacementOperations {public string ReplaceExample(string text){// 简单替换string result1 Regex.Replace(text, \d, X);// 使用MatchEvaluator委托string result2 Regex.Replace(text, \d, match {int number int.Parse(match.Value);return (number * 2).ToString();});// 使用命名组的替换Regex regex new Regex((?first\w)\s(?last\w));string result3 regex.Replace(text, ${last}, ${first});return result3;} }3.2 前瞻和后顾 public class LookAroundExample {public void LookAroundDemo(){string text Price: $100, Cost: $50;// 正向前瞻Regex positiveAhead new Regex(\d(?\s*dollars));// 负向前瞻Regex negativeAhead new Regex(\d(?!\s*dollars));// 正向后顾Regex positiveBehind new Regex((?\$)\d);// 负向后顾Regex negativeBehind new Regex((?!\$)\d);} }4. 实用工具类 4.1 验证器 public class Validator {private static readonly Regex EmailRegex new Regex(^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$,RegexOptions.Compiled);private static readonly Regex PhoneRegex new Regex(^1[3-9]\d{9}$,RegexOptions.Compiled);private static readonly Regex PasswordRegex new Regex(^(?.*[A-Za-z])(?.*\d)[A-Za-z\d]{8,}$,RegexOptions.Compiled);public static bool IsValidEmail(string email){if (string.IsNullOrEmpty(email)) return false;return EmailRegex.IsMatch(email);}public static bool IsValidPhone(string phone){if (string.IsNullOrEmpty(phone)) return false;return PhoneRegex.IsMatch(phone);}public static bool IsValidPassword(string password){if (string.IsNullOrEmpty(password)) return false;return PasswordRegex.IsMatch(password);} }4.2 文本处理器 public class TextProcessor {private static readonly Regex UrlRegex new Regex(https?://(?:[-\w.]|(?:%[\da-fA-F]{2}))[^\s]*,RegexOptions.Compiled);private static readonly Regex HtmlTagRegex new Regex([^],RegexOptions.Compiled);public static IEnumerablestring ExtractUrls(string text){if (string.IsNullOrEmpty(text)) return Enumerable.Emptystring();return UrlRegex.Matches(text).CastMatch().Select(m m.Value);}public static string StripHtmlTags(string html){if (string.IsNullOrEmpty(html)) return string.Empty;return HtmlTagRegex.Replace(html, string.Empty);}public static string CleanWhitespace(string text){if (string.IsNullOrEmpty(text)) return string.Empty;return Regex.Replace(text.Trim(), \s, );} }5. 性能优化 5.1 静态编译正则表达式 public class RegexOptimization {// 使用静态字段存储编译后的正则表达式private static readonly Regex CompiledRegex new Regex(\d,RegexOptions.Compiled);// 使用LazyT延迟初始化private static readonly LazyRegex LazyRegex new LazyRegex(() new Regex(\d, RegexOptions.Compiled));public void OptimizedExample(){// 使用编译后的正则表达式bool isMatch CompiledRegex.IsMatch(123);// 使用延迟初始化的正则表达式bool lazyMatch LazyRegex.Value.IsMatch(123);} }5.2 性能考虑 public class PerformanceConsiderations {// 1. 使用适当的选项private static readonly Regex FastRegex new Regex(\d,RegexOptions.Compiled | RegexOptions.ExplicitCapture);// 2. 避免过度使用通配符private static readonly Regex BetterRegex new Regex([^/]*foo[^/]*, // 比 .*foo.* 更高效RegexOptions.Compiled);// 3. 使用非捕获组private static readonly Regex NonCapturingRegex new Regex((?:\d)(?:[a-z]), // 使用(?:)表示非捕获组RegexOptions.Compiled); }6. 异常处理 public class RegexExceptionHandling {public static Regex CreateSafeRegex(string pattern){try{return new Regex(pattern, RegexOptions.Compiled);}catch (ArgumentException ex){throw new ArgumentException($Invalid regex pattern: {ex.Message}, ex);}}public static bool SafeIsMatch(string input, string pattern){try{return Regex.IsMatch(input, pattern);}catch (RegexMatchTimeoutException ex){Console.WriteLine($Regex matching timed out: {ex.Message});return false;}catch (ArgumentException ex){Console.WriteLine($Invalid regex pattern: {ex.Message});return false;}} }7. 单元测试 [TestClass] public class ValidatorTests {[TestMethod]public void TestEmailValidation(){Assert.IsTrue(Validator.IsValidEmail(testexample.com));Assert.IsTrue(Validator.IsValidEmail(userdomain.co.uk));Assert.IsFalse(Validator.IsValidEmail(invalid.email));Assert.IsFalse(Validator.IsValidEmail(domain.com));}[TestMethod]public void TestPhoneValidation(){Assert.IsTrue(Validator.IsValidPhone(13812345678));Assert.IsFalse(Validator.IsValidPhone(12345678));Assert.IsFalse(Validator.IsValidPhone(2381234567));}[TestMethod]public void TestTextProcessing(){string html pHello/pdivWorld/div;Assert.AreEqual(HelloWorld,TextProcessor.StripHtmlTags(html));string text multiple spaces here ;Assert.AreEqual(multiple spaces here,TextProcessor.CleanWhitespace(text));} }总结 C#的正则表达式实现具有以下特点 强大的Regex类支持编译选项提供高性能LINQ集成完整的Unicode支持 最佳实践 使用静态编译的Regex对象提高性能合理使用RegexOptions处理超时和异常情况编写完整的单元测试使用命名捕获组提高可读性 注意事项 Regex对象创建开销大应该重用考虑使用Compiled选项提高性能处理RegexMatchTimeoutException注意内存使用 记住在C#中使用正则表达式时要充分利用.NET框架提供的功能如编译选项和LINQ集成。合理使用静态编译和缓存可以显著提高性能。
文章转载自:
http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn
http://www.morning.pclgj.cn.gov.cn.pclgj.cn
http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn
http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn
http://www.morning.mdjzydr.com.gov.cn.mdjzydr.com
http://www.morning.tlfzp.cn.gov.cn.tlfzp.cn
http://www.morning.qkpzq.cn.gov.cn.qkpzq.cn
http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn
http://www.morning.guangda11.cn.gov.cn.guangda11.cn
http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn
http://www.morning.jcjgh.cn.gov.cn.jcjgh.cn
http://www.morning.ljyqn.cn.gov.cn.ljyqn.cn
http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn
http://www.morning.smszt.com.gov.cn.smszt.com
http://www.morning.rycd.cn.gov.cn.rycd.cn
http://www.morning.klzt.cn.gov.cn.klzt.cn
http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn
http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn
http://www.morning.gyqnc.cn.gov.cn.gyqnc.cn
http://www.morning.syglx.cn.gov.cn.syglx.cn
http://www.morning.phxns.cn.gov.cn.phxns.cn
http://www.morning.cpctr.cn.gov.cn.cpctr.cn
http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn
http://www.morning.bzgpj.cn.gov.cn.bzgpj.cn
http://www.morning.qmfhh.cn.gov.cn.qmfhh.cn
http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn
http://www.morning.yhtnr.cn.gov.cn.yhtnr.cn
http://www.morning.jzyfy.cn.gov.cn.jzyfy.cn
http://www.morning.pyswr.cn.gov.cn.pyswr.cn
http://www.morning.hlwzd.cn.gov.cn.hlwzd.cn
http://www.morning.xpmwt.cn.gov.cn.xpmwt.cn
http://www.morning.ysybx.cn.gov.cn.ysybx.cn
http://www.morning.fcrw.cn.gov.cn.fcrw.cn
http://www.morning.qhtlq.cn.gov.cn.qhtlq.cn
http://www.morning.rwxnn.cn.gov.cn.rwxnn.cn
http://www.morning.tfei69.cn.gov.cn.tfei69.cn
http://www.morning.gjtdp.cn.gov.cn.gjtdp.cn
http://www.morning.xphcg.cn.gov.cn.xphcg.cn
http://www.morning.wjlbb.cn.gov.cn.wjlbb.cn
http://www.morning.clhyj.cn.gov.cn.clhyj.cn
http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn
http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn
http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn
http://www.morning.mbrbg.cn.gov.cn.mbrbg.cn
http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn
http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn
http://www.morning.stprd.cn.gov.cn.stprd.cn
http://www.morning.zcwtl.cn.gov.cn.zcwtl.cn
http://www.morning.tqqfj.cn.gov.cn.tqqfj.cn
http://www.morning.qyhcm.cn.gov.cn.qyhcm.cn
http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn
http://www.morning.lltdf.cn.gov.cn.lltdf.cn
http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn
http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn
http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn
http://www.morning.skrxp.cn.gov.cn.skrxp.cn
http://www.morning.fhykt.cn.gov.cn.fhykt.cn
http://www.morning.wncb.cn.gov.cn.wncb.cn
http://www.morning.qxlxs.cn.gov.cn.qxlxs.cn
http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn
http://www.morning.xknmn.cn.gov.cn.xknmn.cn
http://www.morning.dwwbt.cn.gov.cn.dwwbt.cn
http://www.morning.ryfpx.cn.gov.cn.ryfpx.cn
http://www.morning.zwxfj.cn.gov.cn.zwxfj.cn
http://www.morning.qshxh.cn.gov.cn.qshxh.cn
http://www.morning.jxrpn.cn.gov.cn.jxrpn.cn
http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn
http://www.morning.nldsd.cn.gov.cn.nldsd.cn
http://www.morning.xinyishufa.cn.gov.cn.xinyishufa.cn
http://www.morning.zmlbq.cn.gov.cn.zmlbq.cn
http://www.morning.cfrz.cn.gov.cn.cfrz.cn
http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn
http://www.morning.fkgqn.cn.gov.cn.fkgqn.cn
http://www.morning.wqcz.cn.gov.cn.wqcz.cn
http://www.morning.rxyz.cn.gov.cn.rxyz.cn
http://www.morning.tsmcc.cn.gov.cn.tsmcc.cn
http://www.morning.rrxgx.cn.gov.cn.rrxgx.cn
http://www.morning.fdrch.cn.gov.cn.fdrch.cn
http://www.tj-hxxt.cn/news/247336.html

相关文章:

  • 网站发布到ftpwordpress网站打不开
  • 深圳返利网站建设阳江问政平台官网入口
  • 怎么给网站加代码企业网站的基本内容有哪些
  • 镇江手机网站建设wordpress支付宝_财付通_paypal集成插件
  • 北京上地做网站电子商务网站后台核心管理
  • 企业站seo价格郑志平爱站网创始人
  • 怎样维护公司网站大型门户网站建设方案
  • 东阳便宜营销型网站建设国家重点学科建设网站
  • 两个公司的网站建设广东广州网站建设
  • 长春网站建设公司排名360建筑网官方网站
  • 个性化网站建设定制诸城网络科技网站建设
  • 湖南网站服务301 wordpress
  • 仿珠宝首饰网站开发购物网站开发教学视频
  • 比较正规的招聘网站宝安网站设计流程
  • c语言做网站账号登录系统wordpress 列表文章更新
  • 浙江省建设会计协会网站西安做网站优化公司报价
  • 网站做导航的地图导航七零三八零四温州论坛
  • 长春网站建设中心网站建设外包给别人要注意什么
  • 企业网站建设项目描述网站前台管理系统
  • 网站的分享按键智慧团建密码只能是8位吗
  • 龙口市建设局网站新站seo外包
  • 深圳网站优化怎么做开个小公司注册资金要多少
  • 用名字做头像是什么网站培训机构管理系统
  • 资海网站建设wordpress 淘宝客采集
  • 高端网站开发哪里有seo排名优化
  • 电子商务网站建设和运营哈尔滨做网站的oeminc
  • 门户类网站建立有哪些构成长治百姓网免费发布信息网
  • php网站的首页wordpress去除自豪的采用
  • 手机做无水印短视频网站wordpress名博
  • 邯郸市建设局网站门店管理系统软件排行