C#复习正则表达式

由于前段时间为了写工具学的太J8粗糙  加上最近一段时间太浮躁 所以静下心来复习 一遍以前学的很弱的一些地方

1 委托
        public delegate double weituo(double a, double b);public static double test1(double a,double b){return a * b;}public static double test2(double a,double b){return a / b;}public static void test3(weituo test){Console.WriteLine(test(2.5, 0.5));}static void Main(string[] args){//weituo test;//test = test2;//test3(test);            }

 多播委托

weituo test;
test = test1;
test += test2;
test3(test);

但是要求test1 test2方法必须没有返回值即void

 

匿名函数

    public delegate double weituo(double a);static void Main(string[] args){weituo f3 = delegate(double x){return 3 * x + 5;};Console.WriteLine(f3(3.5));}

 Lambada函数

weituo f3 = (double x) => { return 3 * x + 5; };Console.WriteLine(f3(3.5));

 

file与filestream读取文件的区别


file读取文件,是一次性把文件全都装载到内存当中。这个对于几百K,几M的文件还可以,但是对于
几个G的文件就尴尬了。据说,有个面试题是,面对几个G的txt文件,你怎么检索。


filestream 文件流读取文件。按照个人设定的容量,每次读取这么多,分批次处理,比如一个200M的txt,
我规定每次读取5M,再来个for循环,就可以把这200M的东西,化整为零,逐批次处理。

 

C#string与stringBuilder的区别

string的缺点是每次字符串变量的内容发生了改变时,都必须重新分配内存。你想想,如果创建一个迭代100000次的循环,每次迭代都将一个字符连接到字符串,这样内存中就会有100000个字符串,每个字符串仅仅与前一个字符串相伴只是有一个字符不同,性能影响是很大的。StringBuilder通过分配一个缓存,就是一个工作区来解决这些问题,在工作区中队字符串应用StringBuilder类的相关方法。包括添加,删除,移除,插入和替换字符等等。执行完之后,将调用ToString方法把工作区中的内容转换为一个字符串,方便赋给一个字符串变量。这样StringBuilder会提升一些性能。

 正则表达式复习

 

 

 

 

 

可选字符集

 

 

 

 数量限定符

 

string text2 = "lg log loog looog loooog looooog";Regex expression = new Regex(@"l(oo)+g");  代表()+表示括号内的一次或者多次 不加括号代表左边一个 其他都是这样

 

 

 

* = >0个或多个
+ = >1个或多个
? = >0次或1次
lo{3}g 匹配到looog l(00){3}g 匹配到loooooog
lo{3,}g表示3往上次数looog loooog 无上限
lo{3,5}g3次到5次
*?将前面的字符重复0次或多次 尽量少重复
+?一次活多次尽量少重复

贪婪匹配(@"<.*>");

懒惰匹配(@"<.*?>");

 

 

 ^从头部开始匹配

$从末尾开始匹配

 

 ^和$类似还有\b在正则表达式前面跟^一样 在后面跟$一样

 

转载于:https://www.cnblogs.com/test404/p/6679327.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用JPA侦听器的数据库加密

最近&#xff0c;我不得不将数据库加密添加到几个字段中&#xff0c;并且发现了很多不好的建议。 建筑问题 最大的问题是建筑。 如果持久性管理器悄悄地处理您的加密&#xff0c;那么根据定义&#xff0c;您的体系结构将在持久性和安全性设计之间要求紧密而不必要的绑定。 您…

Java是先难后易吗_在解决问题的时候,是先难后易还是先易后难?

有家长问&#xff0c;孩子一旦听到不同声音&#xff0c;就沮丧&#xff0c;一旦有难的事情&#xff0c;就逃避&#xff0c;怎么办&#xff1f;回答这个问题之前&#xff0c;我们问一个问题“你给孩子玩穿纽扣游戏&#xff0c;是一开始给孩子玩容易穿的纽扣好呢&#xff1f;还是…

在vue中安装使用vux

最近因为的工作的原因在弄vue&#xff0c;从后端弄到前端之前一直用js&#xff0c;现在第一次接触vue感觉还挺有意思的&#xff0c;就是自己太菜了&#xff0c;这个脑子呀。。。。不太够用。。。。。页面设计用了一个叫vux的东西&#xff0c;vux可以提供一些组件&#xff0c;用…

form表单 获取与赋值

form表单中使用频繁的组件: 文本框、单选框、多选框、下拉框、文本域form通过getValues()获取表单中所有name的值 通过setValues({key:values})给对应的name值进行赋值&#xff0c;其中key对应的name值 在给单选框和多选框赋值时&#xff0c;有几个疑惑的地方&#xff1a;  …

Zabbix全方位告警接入-电话/微信/短信都支持

http://www.cnblogs.com/baidu-gaojing/p/5128035.html 百度告警平台地址&#xff1a; http://gaojing.baidu.com 联系我们&#xff1a; 邮箱&#xff1a;gaojingbaidu.com 电话&#xff1a;13924600771 QQ群&#xff1a;183806029 对于使用zabbix的用户&#xff0c;要接入百度…

Spring MVC定制用户登录注销实现示例

这篇文章描述了如何实现对Spring MVC Web应用程序的自定义用户访问&#xff08;登录注销&#xff09;。 作为前提&#xff0c;建议读者阅读这篇文章 &#xff0c;其中介绍了一些Spring Security概念。 该代码示例可从Spring-MVC-Login-Logout目录中的Github获得。 它从带有注释…

HTML5与CSS3权威指南笔记案例1

第1章 <!DOCTYPE html> <meta charset "UTF-8"> <title> Search </title> <form> <p><label>Search&#xff1a;<input name"search" autofocus></label> </p> </form> <!DOCTYPE&…

java循环的概念_Java数据结构之循环队列简单定义与用法示例

本文实例讲述了Java数据结构之循环队列简单定义与用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一、概述&#xff1a;1、原理&#xff1a;与普通队列的区别在于循环队列添加数据时&#xff0c;如果其有效数据end maxSize - 1(最大空间)的话&#xff0c;end指针…

Unrecognized option: -jrockit

weblogic报错&#xff1a; starting weblogic with Java version: Unrecognized option: -jrockit Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Starting WLS with line: /data/jdk1.8.0_45/bin/java -jroc…

51nod 1105 第K大的数

基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB 分值: 40 难度&#xff1a;4级算法题 数组A和数组B&#xff0c;里面都有n个整数。数组C共有n^2个整数&#xff0c;分别是A[0] * B[0],A[0] * B[1] ......A[1] * B[0],A[1] * B[1]......A[n - 1] * B[n - 1]&#x…

在Tomcat上设置和使用Apache Solr

前一阵子花了一点时间来玩Solr&#xff0c;但立即被我们可以在一些更大的数据集上获得的性能所震撼。 这是我的一些初始设置和配置学习信息&#xff0c;也许可以帮助某人启动它并更快地运行。 首先在Windows上进行设置。 下载并解压缩Apache Tomcat和Solr&#xff0c;然后将其复…

sass变量

sass变量用法 1、sass变量必须以$符开头&#xff0c;后面紧跟着变量名 2、变量值和变量名之间就需要使用冒号(:)分隔开&#xff08;就像CSS属性设置一样&#xff09; 3、如果值后面加上!default则表示默认值 默认变量 sass的默认变量&#xff1a;仅需要在值后面加上!defaul…

西安4年java多少时间_西安学习java一般要多久

线程小n行的任务/任务执的数单个量为间隔执行池大所需时间时间&#xff0c;西安学习的配置&#xff0c;西安学习行定行池务的务执c配在执注置任方法时任上标&#xff0c;下解行调问题务的方度任有以异步决办采用法&#xff1a;上述式执。比如、般要多本名(套接套接5套t地地节点…

js 递归函数的使用及常用函数

1.递归函数的使用&#xff1a; 公园里有一堆桃子&#xff0c;猴子每天吃掉一半&#xff0c;挑出一个坏的扔掉&#xff0c;第6天的时候发现还剩1个桃子&#xff0c;问原来有多少个桃子 var peache;function peaches(n) { if (n 6) { peache 1; } else { …

redis分布式锁-SETNX实现

转自&#xff1a;https://my.oschina.net/u/1995545/blog/366381 Redis有一系列的命令&#xff0c;特点是以NX结尾&#xff0c;NX是Not eXists的缩写&#xff0c;如SETNX命令就应该理解为&#xff1a;SET if Not eXists。这系列的命令非常有用&#xff0c;这里讲使用SETNX来实现…

sql java驱动程序_Microsoft SQL Server JDBC 驱动程序支持矩阵

本页包含 Microsoft SQL Server JDBC 驱动程序的支持矩阵和支持生命周期策略。Microsoft JDBC 驱动程序支持生命周期矩阵和策略Microsoft 支持生命周期 (MSL) 策略提供了与 Microsoft 产品的支持生命周期有关的可预测透明信息。 自驱动程序发布之日起&#xff0c;JDBC 驱动程序…

使用直接内存时可以更快

总览 使用直接内存不能保证提高性能。 考虑到它增加了复杂性&#xff0c;除非有充分的理由使用它&#xff0c;否则应避免使用它。 塞尔吉奥奥利维拉&#xff08;Sergio Oliveira Jr&#xff09;的这篇出色文章表明&#xff0c;这不仅仅是使用直接内存来提高性能的问题&#x…

POJ 3977 折半枚举

链接&#xff1a; http://poj.org/problem?id3977 题意&#xff1a; 给你n个数&#xff0c;n最大35&#xff0c;让你从中选几个数&#xff0c;不能选0个&#xff0c;使它们和的绝对值最小 如果有一样的&#xff0c;取个数最小的 题解&#xff1a; np难题&#xff0c;但是因为…

java踩坑记

1.String 相等 稍微有点经验的程序员都会用equals比较而不是用 &#xff0c;但用equals就真的安全了吗&#xff0c;看下面的代码 user.getName().equals("xiaoming"); 有经验的老司机很快就能看到问题&#xff0c;如果user.getName()为null,就会抛出空指针异常&#…

java taken_java-是否有正确的方法在slf4j中传递参数?

第三变种是最好的。实际上&#xff0c;第一种情况是通过StringBuilder进行的字符串连接。第二和第三种情况相同。他们需要将整数值装箱到Integer(或其他Object)&#xff0c;然后创建一个数组来打包它们。在我的机器上进行的简单测试表明&#xff0c;如果不执行日志记录&#xf…