JavaScript之正则表达式

    正则表达式(regularexpression)简称regex,是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式主要用来验证客户端的输入数据。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2.可以通过正则表达式,从字符串中获取我们想要的特定部分。一、创建正则表达式:1、new运算符<strong><span><strong><span>varbox=newRegExp('box');//第一个参数字符串varbox=newRegExp('box','ig');//第二个参数可选模式修饰符</span></strong></span></strong>2、字面量方式<strong><strong>varbox=/box/;//直接用两...
代码星球 代码星球·2021-02-17

[正则表达式]基础知识总结

  一直只是知道正则表达式的用途,但具体没使用过,今天稍微了解了下它的基础用法。这里总结一下。    命令空间:System.Text.RegularExpressions  用途:  对字符串进行查找和替换;  识别重复的单词;  转换格式;  区分一个字符串的各个子元素,并进行提取。  RegEx类:   是对正则表达式引擎的类抽象,通过调用该抽象类的不同方法,实现对正则表达式的处理。   该类的主要方法如下所示,具体用途相信通过方法名即可知道:                                  了解完Regex类的主要方法后,还需要关注三个比较重要的类和它们的层次,分别是:Match类、Group类和Capture类。  假设有如下字符串,input(原始字符串),pa...

LeetCode(109):有序链表转换二叉搜索树

Medium!题目描述:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例:给定的有序链表:[-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:0/-39//-105解题思路:这道题是要求把有序链表转为二叉搜索树,和之前那道ConvertSortedArraytoBinarySearchTree将有序数组转为二叉搜索树思路完全一样,只不过是操作的数据类型有所差别,一个是数组,一个是链表。数组方便就方便在可以通过index直接访问任意一个元素,而链表不行。由于二分查找法每次需要找到中点,而链表的查找中间点可以通过快慢指针来操作,可参见之前的两篇博客ReorderList链表重排序http://www.cnblogs.com/grandyang/p/4254860.html和LinkedListCycleII单链表中的环之二http://www.cnblogs.com/grandyang/p/4...

LeetCode(108):将有序数组转换二叉搜索树

Easy!题目描述:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例:给定有序数组:[-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:0/-39//-105解题思路:这道题是要将有序数组转为二叉搜索树,所谓二叉搜索树,是一种始终满足左<根<右(另外一种更直白的解释,二叉搜索树:空树或者二叉树的所有节点比他的左子节点大,比他的右子节点小。)的特性的二叉树,如果将二叉搜索树按中序遍历的话,得到的就是一个有序数组了。那么反过来,我们可以得知,根节点应该是有序数组的中间点,从中间点分开为左右两个有序数组,在分别找出其中间点作为原中间点的左右两个子节点,这不就是二分查找法的核心思想么。所以这道题考的就是二分查找法。C++解法一:1/**2*Definitionforbinarytree3*structTreeNode{4*intval;5*TreeNode*left;6*TreeNode*rig...

LeetCode(14):最长公共前缀

Easy!题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:["flower","flow","flight"]输出:"fl"示例 2:输入:["dog","racecar","car"]输出:""解释:输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题思路:这道题让我们求一系列字符串的共同前缀,没有什么特别的技巧,无脑查找即可,我们定义两个变量i和j,其中i是遍历搜索字符串中的字符,j是遍历字符串集中的每个字符串。这里将单词上下排好,则相当于一个各行长度有可能不相等的二维数组,我们遍历顺序和一般的横向逐行遍历不同,而是采用纵向逐列遍历,在遍历的过程中,如果某一行没有了,说明其为最短的单词,因为共同前缀的长度不能长于最短单词,所以此时返回已经找出的共同前缀。我们每次取出第一个字符串的某一个位置的单词,然后遍历其他所有字符串的对应位置看是否相等,如果有不满足的直接返回res,如果都相同,则将当前字符存入结果,继续检查下一个位置的字符,参见代码如下:C++参考答案一...

LeetCode(10):正则表达式匹配

Hard!题目描述:给定一个字符串 (s)和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。'.'匹配任意单个字符。'*'匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s),而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例1:输入:s="aa"p="a"输出:false解释:"a"无法匹配"aa"整个字符串。示例2:输入:s="aa"p="a*"输出:true解释: '*'代表可匹配零个或多个前面的元素,即可以匹配'a'。因此,重复'a'一次,字符串可变为"aa"。示例 3:输入:s="ab"p=".*"输出:true解释: ".*"表示可匹配零个或多个('*')任意字符('.')。示例4:输入:s="aab"p="c*a*b"输出:true解释: 'c'可以不被重复,...

LeetCode(6):Z字形转换

Medium!题目描述:将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:(下面这样的形状)PAHNAPLSIIGYIR之后按逐行顺序依次排列:"PAHNAPLSIIGYIR" 实现一个将字符串进行指定行数的转换的函数:stringconvert(stringtext,intnRows);convert("PAYPALISHIRING",3) 应当返回 "PAHNAPLSIIGYIR" 。题意解释:比如有一个字符串“0123456789ABCDEF”,转为zigzag当n=2时:02468ACE13579BDF当n=3时:0 4  8  C1 3 5 7 9 B D F2  6 A  E当n=4时:0  6    C1  5 7  ...
代码星球 代码星球·2021-02-16

js 将数字转换成人民币大写的方法

//将数字转换成人民币大写的方法vardigitUppercase=function(n){varfraction=['角','分'];vardigit=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];varunit=[['元','万','亿'],['','拾','佰','仟']];varIsNum=Number(n);if(!isNaN(IsNum)){varhead=n<0?'欠':'';n=Math.abs(n);vars='';for(vari=0;i<fraction.length;i++){s+=(digit[Math.floor(n*100/10*Math.pow(10,i))%10]+fraction[i]).replace(/零./,'');}s=s||'整';n=Math.floor(n);for(vari=0;i<unit[0].length&&n>0;i++){varp='';for(varj=0;j<unit[1].length&&n>0;j++){p=di...

C# Enum,Int,String的互相转换 枚举转换

Enum为枚举提供基类,其基础类型可以是除Char外的任何整型。如果没有显式声明基础类型,则使用Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。注意:枚举类型的基类型是除Char外的任何整型,所以枚举类型的值是整型值。Enum提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其字符串表示形式的方法(3)将数字的字符串表示形式转换为此类的实例的方法(4)创建指定枚举和值的实例的方法。举例:enumColors{Red,Green,Blue,Yellow};Enum-->String(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;(2)利用Enum的静态方法GetName与GetNames:publicstatic string GetName(Type enumType,Object value)publicstatic string[]GetNames(Type enumType)例如:En...

C# LINQ系列:LINQ to DataSet的DataTable操作 及 DataTable与Linq相互转换

LINQtoDataSet需要使用System.Core.dll、System.Data.dll和System.Data.DataSetExtensions.dll,在项目中添加引用System.Data和System.Data.DataSetExtensions。1.DataTable读取列表DataSetds=newDataSet();//省略ds的Fill代码DataTableproducts=ds.Tables["Product"];IEnumerable<DataRow>rows=frompinproducts.AsEnumerable()selectp;foreach(DataRowrowinrows){Console.WriteLine(row.Field<string>("ProductName"));}DataSetds=newDataSet();//省略ds的Fill代码DataTableproducts=ds.Tables["Product"];varrows=products.AsEnumerable().Select(p=>new...

Oracle 大小写转换函数

Oracle 大小写转换函数转大写UPPER转小写LOWER测试:selectUPPER('Test')asufromdual;selectLOWER('Test')aslfromdual;结果:  参考: Oracle大小写转换函数 ...

C#中List〈string〉和string[]数组之间的相互转换

 1,从System.String[]转到List<System.String>System.String[]str={"str","string","abc"};List<System.String>listS=newList<System.String>(str); 2,从List<System.String>转到System.String[]List<System.String>listS=newList<System.String>();listS.Add("str");listS.Add("hello");System.String[]str=listS.ToArray();  测试:protectedvoidPage_Load(objectsender,EventArgse){System.String[]sA={"str","string1","sting2","abc"};List<System.String>sL=newList<Syste...

js字母大小写字母转换

 <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"><HTML><HEAD><TITLE>黑色头发test</TITLE><METANAME="Generator"CONTENT="EditPlus"><METANAME="Author"CONTENT=""><METANAME="Keywords"CONTENT=""><METANAME="Description"CONTENT=""></HEAD><script>functiona(){document.getElementById("test").value=document.getElementById("test").value.toUpperCase();}functionb(){document.getElementById("test2").value=document.getElementById("test2").v...
代码星球 代码星球·2021-02-16

c# datetime与 timeStamp时间戳 互相转换

将时间格式转化为一个int类型2014/1/1413:01:26时间转完后为:1389675686数字为什么使用时间戳?关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。正式使用的代码,获得毫秒数:///<summary>///生成时间戳///</summary>///<returns>当前时间减去1970-01-0100.00.00得到的毫秒数</returns>publicstringGetTimeStamp(){DateTimestartTime=TimeZone.CurrentTimeZone.ToLocalTime(newSystem.DateTime(1970,1,1,0,0,0,0));DateTimenowTime=DateTime.Now;longunixTime=(long)System.Math.Round((nowTime-startTime).T...

C#大小写字母转换函数

ToUpper:小写转大写ToLower:大写转小写 例如:stringA="aasiDi778=AA";stringB="";B=A.ToUpper(); ...
首页上一页...1314151617...下一页尾页