计算机编程
  • C# 正则表达式使用示例-匹配
  • C# 正则表达式使用示例-替换

Regular Expression


Net程序员必然要掌握正则的核心内容:匹配提取替换常用元字符

using System.Text.RegularExpressions; // 示例一 Match match = Regex.Match(str, ">(.*?)<"); match.Groups[0].Value; // 匹配的整个字符串 match.Groups[1].Value; // 匹配的第一个括号中的内容 // 示例二 // 多个匹配 foreach (Match match in Regex.Matches(str, pattern)) { match.Groups[0].Value; }

正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现。

  • C# 正则表达式使用示例-匹配
  • C# 正则表达式使用示例-替换

 



 

常用元字符

.:代表除了换行之外的任意字符,一个字符占位。

 

*:代表前面的子表达式出现0次或者多次。如果需要*代表的子表达式是多个字符,就将多个字符用()包含。

 

+:代表前面的表达式出现1次或者多次。

 

?:代表前面的表达式出现0次或者出现1次。

 

{n}:代表前面的子表达式要出现n次。

 

^代表开始$代表结束

 

{n,m}:代表前面的子表达式最少出现n次,最多出现m次。

 

{n,}:说明前面的子表达式最少出现n次,最多没有限制。

 

[]:输入的内容必须是在括号内有的一个字符。

 

():改变优先级、分组。

 

d:代表0-9的数字。

 

D:代表非数字。

 

w:代表0-9a-zA-Z_中文   (经过实例证明C#里w包含中文,JavaScript里不包含中文)

图片 1

 

W:代表其他特殊字符(除了0-9a-zA-Z_中文)

 

s:代表看不到的字符,如:回车、空格、制表符。

 

S:代表所有可见字符

 

项目实战:

1.运用场合:不包含某些特定的字符情况下

((?![@:]).)+:代表不是@和:的字符。

 

2.匹配中文

[u4E00-u9FFF]

 

 

 

 


 

 

正则表达式进行匹配的原则:

1.(有没有)只关注是否存在,而不关注它的位置,也就意味着只需要能够匹配其中一个就可以 。

2.贪婪模式:如果找到了能匹配的字符,那么他还继续往下匹配尽可能多的字符,只到最后

 


 

 

.net中的正则表达式

正则表达式在.net中就是用字符串来表示,这个字符串格式比较特殊,无论多么特殊,在C#语言看来都是普通的字符出,具体什么含义由Regex类内部进行语法分析。

常用的4种情况:

  1. 判断是否匹配(是否有):Regex.IsMatch("字符串","正则表达式");
  2. 字符串提取:Regex.Match("字符串","要提取的字符出的正则表达式"); ——只能提取一个(提取一次)。
  3. 字符串提取(循环提取所有):Regex.Matches(),可以提取所有匹配的字符串。
  4. 字符串替换:Regex.Replace("字符串","正则","替换内容");

 

 

提取只有一个匹配项的字符串,进行分组,提取。

        string str = "tiantianjcx@qq.com";

                Match match = Regex.Match(str, @"^(w+)[@](w+)[.](w+)$");

其他新闻
  • C# 正则表达式使用示例-匹配 C#正则表达式使用示例-替换 Regular Expression Net程序员必然要掌握正则的核心内容: 匹配 、 提取 、 替换 、 常用元字符 。 using System.Text.RegularExpressions;...
    2019-12-30
  • 很多人认为问题没解决是由于缺少计算机软件,似乎开发一个打车 App就可以解决打车难的问题;也有很多人认为计算机软件都是多余的,顶得上跟客户唱一晚歌、打一场球么? 第十二...
    2019-12-30
  • 像网页的导航栏的文字可以利用滑动门技术做。滑动门就是根据字的多少自动收缩,不必根据字的多少再去调宽度。像导航栏这种的都需要链接,则以一个a标签作为父亲,他的孩子可以...
    2019-12-27
友情链接

公司名称巴黎人电玩
版权所有:Copyright © 2015-2019 http://www.zhongqiangjy.com. 巴黎人电玩有限公司 版权所有

友情链接

Copyright © 2015-2019 http://www.zhongqiangjy.com. 巴黎人电玩有限公司 版权所有
公司地址http://www.zhongqiangjy.com