C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#正则表达式

C#正则表达式用法入门大全

作者:勤学多问擅用

正则表达式是C#编程中一种非常实用的工具,能够帮助我们快速处理字符串,掌握正则表达式语法和常用函数,将有助于提高编程效率,这篇文章主要介绍了C#正则表达式用法入门的相关资料,需要的朋友可以参考下

正则表达式

(这部分内容难以理解,想要讲透还是比较困难,请跟随贴主一步一步探寻)

首先我们要知道正则表达式能够做什么?

总的来说就是用于模式匹配和搜索文本的一个工具,也可以把它想作是一个 超级通配符

对于通配符举一个简单的例子,也常常发生在我们查找文件的过程

//像查找  data(\w)?\.dat   这种,你可能会查到以下形式的文件
data.dat
data1.dat
data2.dat
datax.dat
dataN.dat


//而像查找   data.*\.dat   这种,你可能会查到以下形式的文件
data.dat
data1.dat
data2.dat
data12.dat
datax.dat
dataXYZ.dat

// ? 通配符匹配文件名中的 0 个或 1 个字符,而 * 通配符匹配零个或多个字符

从上述的搜索结果很容易看出,通配符确实具有它的强大,但是也存在相应限制。假如类似文件名很多,也是日常中常会碰到的这种情况下,定位到指定文件夹就显得较为困难。

这也就是为什么我们会在引入“超级通配符”,即正则表达式。

想要学习正则表达式,我们要从一个简单的正则表达式开始认识。
 

以上这个简单的正则表达式其实在生活中常常会遇到,只是大家都没有过多去关心这背后的实现原理。以贴主自己为例,打游戏无法取到心仪的名字也正是它在“捣鬼”,hhh

言归正传

由上面的简单正则表达式进一步进阶为下面的表达式

以上的正则表达式匹配 runoob、runoob1、run-oob、run_oob等,但不匹配 ru、 runoob$等

当然正则表达式的日常使用远不止上面的这些,它也有它自己的元字符和特性

看到这个表格,相信很多小伙伴就会比较焦虑,这么多都需要记住吗?确切的来说是,但又不是。因为这个东西本就是孰能生巧的一个过程,当你用多了,它自然就会在你脑子里留下印象,你自然也就记住了。就好比贴主之前不会做饭,食材和调料放什么怎么放都不知道,但后来迫于生活的压力不得不自己做,于是慢慢就会了,也就记住了。这是一个道理,hhh

有了前面的基础,相信你对正则表达式已经有了一个比较确切的认识,由于目前以C#语言为主,故后面的内容围绕C#展开,不同语言可能用法有所不同,但是底层的逻辑基本都是一致的。下面的内容会略微枯燥,但是贴主已经尽力挑最精华的部分讲,请耐心看完。

1、字符类

上述不好理解的应该主要是\p{name}和\P{name},一个是与 name 指定的 Unicode 通用类别或命名块中的任何单个字符匹配,而另一个则相反,与不在 name 指定的 Unicode 通用类别或命名块中的任何单个字符匹配。在 Unicode 标准中,Lu 代表 "Letter, uppercase"(大写字母)。也就有了上面的结果。具体遇到了之后可以通过查阅资料得知。

2、字符转义

下面所列举的是历史遗留的控制字符 (在日常中较少用,可要到后再前往学习即可)

当您的键盘打不出某个字符,或者您想极其精确地指定某个字符时,可以使用它的计算机底层编码来匹配。这三种方式本质上是一样的,只是进制不同:

这些是我们日常处理文本时最常遇到的不可见字符:

万能的“取消魔法”符:

3、定位点

基础行边界 (最常用):

绝对字符串边界 (应对多行文本):

单词边界 (处理英文单词极佳):

连续匹配边界 (进阶用法):

4、分组构造

捕获与非捕获分组 (基础核心):

环视 / 零宽断言 (高级条件检查):

选项修改与原子组 (性能与修饰):

平衡组 (特殊引擎专属):

5、限定符

限定符理解相对容易,再前面的元字符也有类似介绍,在此不过多赘述

6、反向引用构造

反向引用如果细心的伙伴可能再先前讲述其它正则表达的时候就能够注意到

7、替换

提取并重组子字符串 (最常用):

利用上下文信息进行高级替换:

特殊符号处理:

以上列举的都是正则表达式中贴主个人认为比较重要且可能会常用到的,但是仍然存在一些关于正则表达式没有讲到的内容。该部分内容就需要大家在遇到后自己借助资料和AI学习,也欢迎在评论区补充。

相信在看完整个文章后,你已经对正则表达式已经有了较为深入的理解。虽然正则表达式理解具有一定的困难,但当你真正理解后它也就还好。虽然内容较多,但是在当今AI时代,AI可以帮你很好的弥补记忆不牢固这一缺陷,并且也能帮你快速捡起以前学过的东西。

总结

到此这篇关于C#正则表达式用法入门大全的文章就介绍到这了,更多相关C#正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文