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

北京哪个网站制作公司wordpress会员写文章

北京哪个网站制作公司,wordpress会员写文章,富阳公司做网站,东营建设工程信息网站目录 C# 正则表达式 定义正则表达式 字符转义 字符类 定位点 分组构造 Lookaround 概览 数量词 反向引用构造 替换构造 替代 正则表达式选项 其他构造 Regex 类 代码示例 实例 1 实例 2 实例 3 C# 正则表达式 正则表达式 是一种匹配输入文本的模式。.Net 框…目录 C# 正则表达式 定义正则表达式 字符转义 字符类 定位点 分组构造 Lookaround 概览 数量词 反向引用构造 替换构造 替代 正则表达式选项 其他构造 Regex 类 代码示例 实例 1 实例 2 实例 3 C# 正则表达式 正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。如果你还不理解正则表达式可以阅读官方文档或者看完这篇文章。 定义正则表达式 字符转义 正则表达式中的反斜杠字符 (\) 指示其后跟的字符是特殊字符如下表所示或应按原义解释该字符。 有关详细信息请参阅字符转义。 转义字符描述模式匹配\a与报警 (bell) 符 \u0007 匹配。\aWarning! \u0007 中的 \u0007\b在字符类中与退格键 \u0008 匹配。[\b]{3,}\b\b\b\b 中的 \b\b\b\b\t与制表符 \u0009 匹配。(\w)\tName\tAddr\t 中的 Name\t 和 Addr\t\r与回车符 \u000D 匹配。\r 与换行符 \n 不是等效的。\r\n(\w)\r\nHello\nWorld. 中的 \r\nHello\v与垂直制表符 \u000B 匹配。[\v]{2,}\v\v\v 中的 \v\v\v\f与换页符 \u000C 匹配。[\f]{2,}\f\f\f 中的 \f\f\f\n与换行符 \u000A 匹配。\r\n(\w)\r\nHello\nWorld. 中的 \r\nHello\e与转义符 \u001B 匹配。\e\x001B 中的 \x001B\ nnn使用八进制表示形式指定一个字符nnn 由二到三位数字组成。\w\040\wa bc d 中的 a b 和 c d\x nn使用十六进制表示形式指定字符nn 恰好由两位数字组成。\w\x20\wa bc d 中的 a b 和 c d\c X \c x匹配 X 或 x 指定的 ASCII 控件字符其中 X 或 x 是控件字符的字母。\cC\x0003 中的 \x0003 (Ctrl-C)\u nnnn使用十六进制表示形式匹配一个 Unicode 字符由 nnnn 表示的四位数。\w\u0020\wa bc d 中的 a b 和 c d\在后面带有不识别的转义字符时与该字符匹配。\d[\-x\*]\d\d[\-x\*\d(22) * 3*9 中的 22 和 3*9 字符类 字符类与一组字符中的任何一个字符匹配。 字符类包括下表中列出的语言元素。 有关更多信息请参见 字符类。 字符类描述模式匹配[character_group]匹配 character_group 中的任何单个字符。 默认情况下匹配区分大小写。[mn]mat 中的 mmoon 中的 m 和 n[^character_group]非与不在 character_group 中的任何单个字符匹配。 默认情况下character_group 中的字符区分大小写。[^aei]avail 中的 v 和 l[ first - last ]字符范围与从 first 到 last 的范围中的任何单个字符匹配。[b-d][b-d]irds 可以匹配 Birds、 Cirds、 Dirds.通配符与除 \n 之外的任何单个字符匹配。 若要匹配原意句点字符. 或 \u002E您必须在该字符前面加上转义符 (\.)。a.ehave 中的 ave mate 中的 ate\p{ name }与 name 指定的 Unicode 通用类别或命名块中的任何单个字符匹配。\p{Lu}City Lights 中的 C 和 L\P{ name }与不在 name 指定的 Unicode 通用类别或命名块中的任何单个字符匹配。\P{Lu}City 中的 i、 t 和 y\w与任何单词字符匹配。\wRoom#1 中的 R、 o、 m 和 1\W与任何非单词字符匹配。\WRoom#1 中的 #\s与任何空白字符匹配。\w\sID A1.3 中的 D \S与任何非空白字符匹配。\s\Sint __ctr 中的 _\d与任何十进制数字匹配。\d4 IV 中的 4\D匹配不是十进制数的任意字符。\D4 IV 中的 、 、 、 I 和 V 定位点 定位点或原子零宽度断言会使匹配成功或失败具体取决于字符串中的当前位置但它们不会使引擎在字符串中前进或使用字符。 下表中列出的元字符是定位点。 有关详细信息请参阅 定位点。 断言描述模式匹配^匹配必须从字符串或一行的开头开始。^\d{3}567-777- 中的 567$匹配必须出现在字符串的末尾或出现在行或字符串末尾的 \n 之前。-\d{4}$8-12-2012 中的 -2012\A匹配必须出现在字符串的开头。\A\w{4}Code-007- 中的 Code\Z匹配必须出现在字符串的末尾或出现在字符串末尾的 \n 之前。-\d{3}\ZBond-901-007 中的 -007\z匹配必须出现在字符串的末尾。-\d{3}\z-901-333 中的 -333\G匹配必须出现在上一个匹配结束的地方。\G\(\d\)(1)(3)(5)[7](9) 中的 (1)、 (3) 和 (5)\b匹配一个单词边界也就是指单词和空格间的位置。er\b匹配never中的er但不能匹配verb中的er。\B匹配非单词边界。er\B匹配verb中的er但不能匹配never中的er。 分组构造 分组构造描述了正则表达式的子表达式通常用于捕获输入字符串的子字符串。 分组构造包括下表中列出的语言元素。 有关详细信息请参阅 分组构造。 分组构造描述模式匹配( subexpression )捕获匹配的子表达式并将其分配到一个从零开始的序号中。(\w)\1deep 中的 ee(? name subexpression)将匹配的子表达式捕获到一个命名组中。(? double\w)\k doubledeep 中的 ee(? name1 -name2 subexpression)定义平衡组定义。(((?Open\()[^\(\)]*)((?Close-Open\))[^\(\)]*))*(?(Open)(?!))$32^((1-3)*(3-1)) 中的 ((1-3)*(3-1))(?: subexpression)定义非捕获组。Write(?:Line)?Console.WriteLine() 中的 WriteLine(?imnsx-imnsx:subexpression)应用或禁用 subexpression 中指定的选项。A\d{2}(?i:\w)\bA12xl A12XL a12xl 中的 A12xl 和 A12XL(? subexpression)零宽度正预测先行断言。\w(?\.)He is. The dog ran. The sun is out. 中的 is、 ran 和 out(?! subexpression)零宽度负预测先行断言。\b(?!un)\w\bunsure sure unity used 中的 sure 和 used(?subexpression)零宽度正回顾后发断言。(?19)\d{2}\b1851 1999 1950 1905 2003 中的 99、50和 05(?! subexpression)零宽度负回顾后发断言。(?!wo)man\bHi woman Hi man 中的 man(? subexpression)非回溯也称为贪婪子表达式。[13579](?AB)1ABB 3ABBC 5AB 5AC 中的 1ABB、 3ABB 和 5AB Lookaround 概览 当正则表达式引擎命中 Lookaround 表达式时其需要一个子字符串从当前位置到达原始字符串的开始后行或结束先行然后使用 Lookaround 模式在该子字符串上运行 Regex.IsMatch。 然后根据此子表达式的结果是正断言还是负断言可判断其结果是否成功。 Lookaround名称函数(?check)正预测先行断言字符串中紧随当前位置之后的内容是 check(?check)正预测后行断言字符串中紧随当前位置之前的内容是 check(?!check)负预测先行断言字符串中紧随当前位置之后的内容并非 check(?!check)负预测后行断言字符串中紧随当前位置之前的内容并非 check 结果匹配后不会再次重新计算原子组即使该模式的其余部分由于匹配而失败。 当限定符出现在原子组内或模式的其余部分时可显著提高性能。 数量词 限定符指定在输入字符串中必须存在上一个元素可以是字符、组或字符类的多少个实例才能出现匹配项。 限定符包括下表中列出的语言元素。 有关更多信息请参见 数量词。 限定符描述模式匹配*匹配上一个元素零次或多次。\d*\.\d.0、 19.9、 219.9匹配上一个元素一次或多次。bebeen 中的 bee bent 中的 be?匹配上一个元素零次或一次。rai?nran、 rain{ n }匹配上一个元素恰好 n 次。,\d{3}1,043.6 中的 ,043 9,876,543,210 中的 ,876、 ,543 和 ,210{ n ,}匹配上一个元素至少 n 次。\d{2,}166、 29、 1930{ n , m }匹配上一个元素至少 n 次但不多于 m 次。\d{3,5}166 17668 193024 中的 19302*?匹配上一个元素零次或多次但次数尽可能少。\d*?\.\d.0、 19.9、 219.9?匹配上一个元素一次或多次但次数尽可能少。be?been 中的 be bent 中的 be??匹配上一个元素零次或一次但次数尽可能少。rai??nran、 rain{ n }?匹配前导元素恰好 n 次。,\d{3}?1,043.6 中的 ,043 9,876,543,210 中的 ,876、 ,543 和 ,210{ n ,}?匹配上一个元素至少 n 次但次数尽可能少。\d{2,}?166、 29 和 1930{ n , m }?匹配上一个元素的次数介于 n 和 m 之间但次数尽可能少。\d{3,5}?166 17668 193024 中的 193 和 024 反向引用构造 反向引用允许在同一正则表达式中随后标识以前匹配的子表达式。 下表列出了 .NET 正则表达式支持的反向引用构造。 有关详细信息请参阅 反向引用构造。 反向引用构造描述模式匹配\ number反向引用。 匹配编号子表达式的值。(\w)\1seek 中的 ee\k name 命名反向引用。 匹配命名表达式的值。(? char\w)\k charseek 中的 ee 替换构造 替换构造用于修改正则表达式以启用 either/or 匹配。 这些构造包括下表中列出的语言元素。 有关详细信息请参阅 替换构造。 替换构造描述模式匹配|匹配以竖线 (|) 字符分隔的任何一个元素。th(e|is|at)this is the day. 中的 the 和 this(?( expression)yes|no) 或(?( expression)yes)如果由 expression指定的正则表达式模式匹配则匹配 yes 否则匹配可的 no 部分。 expression 解释为零宽度的断言。 为了避免已命名或已编号的捕获组出现歧义可选择使用显式断言如下所示(?( (? expression) )yes|no)(?(A)A\d{2}\b|\b\d{3}\b)A10 C103 910 中的 A10 和 910(?( name)yes|no) 或(?( name)yes)如果 name (已命名或已编号的捕获组具有匹项则匹配 yes否则匹配可的 no。(?quoted)?(?(quoted).?|\S\s)Dogs.jpg \Yiska playing.jpg\ 中的 Dogs.jpg  和 \Yiska playing.jpg\ 替代 替换是替换模式中支持的正则表达式语言元素。 有关更多信息请参见 替代。 下表中列出的元字符是原子零宽度断言。 字符描述模式替换模式输入字符串结果字符串$number替换按组 number 匹配的子字符串。\b(\w)(\s)(\w)\b$3$2$1one twotwo one${name}替换按命名组 name 匹配的子字符串。\b(? word1\w)(\s)(? word2\w)\b${word2} ${word1}one twotwo one$$替换字符$。\b(\d)\s?USD$$$1103 USD$103$替换整个匹配项的一个副本。(\$*(\d*(\.\d)?){1})**$$1.30**$1.30$替换匹配前的输入字符串的所有文本。B$AABBCCAAAACC$替换匹配后的输入字符串的所有文本。B$AABBCCAACCCC$替换最后捕获的组。B(C)$AABBCCDDAACCDD$_替换整个输入字符串。B$_AABBCCAAAABBCCCC 正则表达式选项 可以指定控制正则表达式引擎如何解释正则表达式模式的选项。 其中的许多选项可以指定为内联在正则表达式模式中或指定为一个或多个 RegexOptions 常量。 本快速参考仅列出内联选项。 有关内联和 RegexOptions 选项的详细信息请参阅文章 正则表达式选项。 可通过两种方式指定内联选项 通过使用其他构造(?imnsx-imnsx)可用选项或选项组前的减号 (-) 关闭这些选项。 例如 (?i-mn) 启用不区分大小写的匹配 (i)关闭多行模式 (m) 并关闭未命名的组捕获 (n)。 该选项自定义选项的点开始应用于此正则表达式且持续有效直到模式结束或者到另一构造反转此选项的点。通过使用 分组构造(?imnsx-imnsx:子表达式)只定义指定组的选项。 .NET 正则表达式引擎支持以下内联选项 选项说明模式匹配i使用不区分大小写的匹配。\b(?i)a(?-i)a\w\baardvark AAAuto aaaAuto Adam breakfast 中的 aardvark 和 aaaAutom使用多行模式。 ^ 和 $ 匹配行的开头和结尾但不匹配字符串的开头和结尾。有关示例请参阅 正则表达式选项中的多行模式部分。n不捕获未命名的组。有关示例请参阅 正则表达式选项中的仅显式捕获部分。s使用单行模式。有关示例请参阅 正则表达式选项中的单行模式部分。x忽略正则表达式模式中的非转义空白。\b(?x) \d \s \w1 aardvark 2 cats IV centurions 中的 1 aardvark 和 2 cats 其他构造 其他构造可修改某个正则表达式模式或提供有关该模式的信息。 下表列出了 .NET 支持的其他构造。 有关详细信息请参阅 其他构造。 构造描述实例(?imnsx-imnsx)在模式中间对诸如不区分大小写这样的选项进行设置或禁用。\bA(?i)b\w\b 匹配 ABA Able Act 中的 ABA 和 Able(?#注释)内联注释。该注释在第一个右括号处终止。\bA(?#匹配以A开头的单词)\w\b# [行尾]该注释以非转义的 # 开头并继续到行的结尾。(?x)\bA\w\b#匹配以 A 开头的单词 Regex 类 Regex 类用于表示一个正则表达式。 下表列出了 Regex 类中一些常用的方法 序号方法 描述1public bool IsMatch( string input ) 指示 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项。2public bool IsMatch( string input, int startat ) 指示 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项从字符串中指定的开始位置开始。3public static bool IsMatch( string input, string pattern ) 指示指定的正则表达式是否在指定的输入字符串中找到匹配项。4public MatchCollection Matches( string input ) 在指定的输入字符串中搜索正则表达式的所有匹配项。5public string Replace( string input, string replacement ) 在指定的输入字符串中把所有匹配正则表达式模式的所有匹配的字符串替换为指定的替换字符串。6public string[] Split( string input ) 把输入字符串分割为子字符串数组根据在 Regex 构造函数中指定的正则表达式模式定义的位置进行分割。 如需了解 Regex 类的完整的属性列表请参阅微软的 C# 文档。 代码示例 实例 1 下面的实例用于判断手机号是否以152开头并以0123结尾 using System; using System.Text.RegularExpressions;class Program {static void Main(){Console.WriteLine(请输入手机号码);string phoneNumber Console.ReadLine();bool isMatch IsPhoneNumberValid(phoneNumber);if (isMatch){Console.WriteLine(手机号符合要求);}else{Console.WriteLine(手机号不符合要求);}}static bool IsPhoneNumberValid(string phoneNumber){Regex regex new Regex(^152\d{4}0123$);return regex.IsMatch(phoneNumber);} }在上述代码中我们使用Console.ReadLine()来读取用户在控制台中输入的手机号码。然后我们调用IsPhoneNumberValid()函数来判断输入的手机号是否符合要求并根据结果输出相应的信息。 实例 2 下面的实例替换掉多余的空格 using System; using System.Text.RegularExpressions;namespace RegExApplication {class Program{static void Main(string[] args){string input Hello World ;string pattern [\s\u00A0];string replacement ;Regex rgx new Regex(pattern);string result rgx.Replace(input, replacement);Console.WriteLine(原始字符串 {0}, input);Console.WriteLine(替换字符串 {0}, result);Console.ReadKey();}} } 实例 3 下面的实例匹配了以 m 开头以 e 结尾的单词 using System; using System.Text.RegularExpressions;namespace RegExApplication {class Program{static void Main(string[] args){Console.WriteLine(请输入英语句子);string input Console.ReadLine();string pattern \bm[a-zA-Z]*e\b;Regex rgx new Regex(pattern);MatchCollection matches rgx.Matches(input);Console.WriteLine(匹配结果);foreach (Match match in matches){Console.WriteLine(match.Value);}Console.ReadKey();}} }这段代码会在输入字符串中查找以m开头以e结尾的单词并输出所有匹配的结果。
http://www.pierceye.com/news/827707/

相关文章:

  • 网站空间文件夹中企动力主要是做什么的
  • 亚马逊做qa的网站wordpress theme是什么
  • 网站开发的经费预算php网站超市源码下载
  • 深圳建设高端网站asp.net 获取网站的绝对路径
  • 做的网站没流量吗前端页面设计
  • 门户网站的优点在环评备案网站上做登记后会怎么样
  • 网站的内容规划怎么写网站做外链的具体步骤
  • 百度网站排名规则小程序网站建设y021
  • 中国建设银行国际互联网站国内排名前五的电商
  • 怎么查网站的空间商四川建设工程招标网
  • 网站建设比较好公司朝阳区互联网公司排名
  • 百度不收录网站吗网站开发php
  • 房产网站建设的功能wordpress php7拓展
  • 做网站代码用什么软件天津建设工程信息网天津
  • 网站开发工程师前景怎么样怎么做自己的网站?
  • 井陉矿区网站建设做微商的网站
  • 办公室装修专业网站小程序免费制作平台有吗
  • 学生做兼职去哪个网站线上推广的渠道有哪些
  • 徐州网站的优化苏州百度推广开户
  • 网站有多少个网站建设与管理介绍
  • 网站建站报告2000字查询公司的网站
  • 兰州网站制作服务电话博客建站模板
  • 网站后台登陆路径网站网站优化
  • wordpress仿站方法网站图片做伪静态
  • 怎么做一款贷款网站蚌埠seo公司
  • 做羊水亲子鉴定网站企业vi设计公司定制
  • 网站开发和微信开发需要什么人一个服务器放多少网站
  • 做6个页面的网站郑州seo优化顾问热狗
  • 网站建设 落地页中国石化工程建设有限公司怎么样
  • 网站建设 软文发布wordpress调取列表页