关于^在正则表达式中存在的意义

第一:[^ ]在方括号中表示不想要匹配的符号,

第二:他放在首位表示必须以某符号开头

但是假设输入一段字符(规定开头为a)那么在代码中直接将a放在开头(str.matches("a...…");)这样就可以了,问^在正则表达式中在开头存在的意义

2个回答

当如果不是从头开始匹配的时候,比如用str.find, 那么^可以用来控制一定要开头匹配

qq_36152559
qq_36152559 能具体说一说么
2 年多之前 回复

比如说全字匹配,匹配用户输入的电话号码,或者整数,不仅仅是输入包含了某个电话,而是不能包含别的字符,就需要用它

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
正则表达式中的\\\\的意义
public class SplitString { public static String[] f(String s) { return s.split("\\+|\\-|\\/|\\*|\\\\"); } public static void main(String[] args) { System.out.println("12+35*5-2*18/9-3\\6...
python中静态方法存在的意义
实例方法、类方法、静态方法的区别 这三种方法都是保存在类的内存中,调用者不同。 实例方法由对象调用,至少一个self参数,self代表对象的引用。 self指向当前的实例对象,所以只要该方法有self参数,在调用此方法的时候会先把这个对象的内存空间加载进来,以便在方法中使用该实例对象的属性或者方法 类方法由类调用,至少一个cls参数,并且需要装饰器@classmethod修饰 cls指向当前的类...
Java接口存在的意义
因为学习Android,所以重新看了Java中关于继承与接口,以及向上转型和向下转型的内容。 若有所悟,理解了接口存在的意义,如果有问题还请各位前辈指出。 接口会出现,最关键的原因应该是Java中向上转型的出现,因为向上转型,子类中一些父类中不存在的方法(或者说不共用的方法)便不能继续调用了。这样就很麻烦,我们需要子类中的方法,但是这下该怎么办呢? 第一种在父类中加子类的方法。但是,这个方法
线索二叉树存在的意义
百度,google了二十分钟也没看到关于线索二叉树的应用。 线索二叉树减少了的空指针域的同时又对每个节点增加了两个标志位。 如果要遍历树可以用栈或者队列或者递归,那线索二叉树的意义是什么?莫不是学者们强迫症犯了就为了减少空指针域的个数。 而且个人觉得线索二叉树在建立的时候使得树的建立变得复杂了一点点,从逻辑上去想也变得复杂,觉得有点吃力不讨好。 除了考试时可能会考到线索二叉树,其他的用处暂时没发现...
设计模式------存在意义
建造者模式产生的意思? 每种设计模式都是为了解决某一类而问题出现的,建造者模式也不例外。场景如下:有一个对象,如House对象,有很多属性,经常要改变对象属性值,既然是创建型模式,肯定不会让客户端创建对象,如果用工厂模式去创建,那么得总是得改变工厂类代码(为了改变对象属性),这样肯定是行不通的!
IXXXDao 存在的意义
想问一下,使用了 hibernate 和 spring 后 对 dao 泛化封装可以做到 直接 在spring 配置bean 就可以得到 实体的 curd 等大多数操作了 那么 数据层的 dao 接口还有存在的意义吗rnrnrn如果项目都使用 hibernat 和spring 的话 rn
请问Tinterface存在的意义?
我不太属性TInterFace,只知道是接口类,不知道他有什么意义.从我初步理解来看,rn他的作用等价于函数重载,用对象的虚函数不就行了吗?为什么还要用这个接口类呢?
不明白hibernateDaoSupport存在的意义
RT,既然hibernateTemplate已经完全可以实现事务管理了rn直接配hibernateTemplate,在类中直接调用hibernateTemplate.save(object)岂不是更简单?rn那么既然如此 hibernateDaoSupport这个类有什么存在的意义呢?rn而且要让原来的daoImp继承hibernateDaoSupport,还要编写一个baseDao然后在配置文件中向baseDao中注入sessionFactory,然后再通过baseDao继承hibernateDaoSupport,这样岂不是更麻烦?
静态函数存在的意义
突然想知道静态函数的来历,在网上找了一下,大家都说静态函数不用实例化,但是我想知道难道静态函数存在的目的就是节省new那句话吗?只是为了不去实例化吗?
数据结构存在的意义
在我们现实生活中,我们处理一件事情的时候,往往不只是处理单单的一个数据,也就是说你处理的是一个数据的集合体。 我们设想这些数据是有一定的关系的。比如说,用到数据a ,接下来就会用到数据 b . 可以看出a与b数据存在着某种密切的关系。下面分成两个场景来思考这个问题: a , b之间的关系并没有进行显式的存储 我们可以设想有一个机器M ,M接受了a的数据,那么接下来就会需要b的数据(之所以会需要...
TIME_WAIT存在的意义
初学Unix网络编程,为什么要存在一个TIME_WAIT的状态?能解释一下吗?我看UNP上解释的,不太理解。
docker存在的意义
123
javascript分号存在意义
javascript语句结尾可以带分号,也可以省略分号 为了代码的便于阅读和维护,一般要求代码按照格式进行缩进 这种时候,分号对于代码而言,只是累赘 但是,在真正利用时,js代码一般会压缩成一行,尽可能的减少体积,加快加载速度 分号可以良好的让浏览器进行断句和执行 如果省略了分号,可能会造成语句的混杂,断句困难甚至产生歧义 是失败的代码
B-树存在的意义……?
不知是我对数据结构了解不多 还是怎么的,觉得B-树根本没有存在的理由啊。rn 首先B-树是稠密索引---整个索引都是放在内存里的,这样的话 B-树的效率就没有AVL树高了---因为B-树的每个结点中的元组以数组形式存放的话,插入新元素肯定不方便,如果是以链表形式存放,那搜索元素又不方便,总的来说不如AVL树。rnrnrn如果索引很大 那肯定首选B+树,所以我就想知道,B-树为啥要存在,应用是啥?难道是2-3-4树?
内部类存在的意义
一个类的多继承如果都写在一起,不利于管理,并不清楚哪个方法是实现哪个接口的,可以采用内部类的形式,来使代码简便易懂。虽然用4种内部类方式,但其实可以 分成两大类,一类是静态的,一类是非静态的,如果要实现的方法并不需要调用外围的属性方法构造器,就可以定义成静态的,节约资源,提高性能。而如果需要用外围 的属性,就只能是非静态的,且内部也不能有静态修饰符。
构造函数的存在意义
#includernclass myclassrnrnint a,b;rnpublic:rn void my(int x,int y)rn rn a=x;rn b=y;rn rn void show()rn rn cout<<"a+b="<rnclass myclassrnrnint a,b;rnpublic:rn myclass(int x,int y)rn rn a=x;rn b=y;rn rn void show()rn rn cout<<"a+b="<
iterator_traits 存在的作用与意义
1.关于迭代器有关类型的获取与iterator_traits: 有时候可能我们会需要知道迭代器的某些具体有关类型,如:迭代器所指对象的类型,两个迭代器之间距离的类型,迭代器解引用操作结果的类型,迭代器->操作结果的类型,以及迭代器本身的类型(单向,双向等)。因此,不同容器的迭代器都必须支持对上述迭代器有关类型的查询反馈,STL则采用内嵌类型声明的方式来实现对上述类型的返回。其中: value_
函数库存在的意义。
库是别人写好的现有的,成熟的,可以复用的代码,你可以使用但要记得遵守许可协议。 现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。共享库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。
交易系统订单存在的意义
出货与计费的一致性存在的,其实说到最后,就是需要订单和订单状态来实现接口的幂等能力,也可以叫做业务侧的幂等能力(另者说,就是保证终态与过程态的一致性);另外,需要实现接口的幂等能力,也类似的需要用到REQUESTID这种像ORDERID(订单号)一样的标记ID,这样是幂等接口的必须满足的,说到这个,想到BAT这样的大公司常问消息队列消息幂等性的实现,这其实也就是根本实现手段; 所以如果,有一个计费场景,没有出货的概念,或者已经模糊了此概念的,需要谨慎考虑是否使用订单,不能够依样画葫芦,就成了画蛇添足;
企业存在的意义
企业长期生存的理由首先是客户需要你,为此,企业必须不断地更好地满足客户的需求,为客户创造价值。
Powerdesigner存在意义?
突然产生这样一个问题:Powerdesigner存在意义rn个人以为,Powerdesigner存在的意义不大,原因有以下几点:rn1.Powerdesigner主要用于建立E-R模型,但是在实际的数据库开发中,就拿Oracle来说吧,在OEM中建表的速度也很快, 完全没有必要使用从CDM到PDM,最后在生成对应的数据库模型。感觉就是鸡肋,就像知道从南京到上海经过无锡,苏州是最近的路线,可是却非有从南京先去西藏,再从西藏坐车到上海。干嘛不直接做最近的路线呢、数据库开发中直接在数据库中建表就行了,完全没有必要采用这种迂回的方法。rn2.在建立CDM时,数据库的规范化三范式,这是在Powerdesigner做的时候也要考虑的,Powerdesigner中有没有这样一种组件,在CDM建立后,执行该组件就可以直接检查数据库的规范化三范式,据我目前的使用来看,还没有这样的组件。不利于用户的使用。rnrn以上是我的一点看法,欢迎各位高手批评指正,提出不同的意见,目的是通过这个讨论,希望大家把自己在使用Powerdesigner中的一些心得,或者发现它的一些功能组件能够相互交流,共同提高,谢谢
汇编语言的存在意义为何
小弟是在学习微机原理时学的汇编,感觉汇编语言更要接近硬件,但是却不能从一个实例去说明,可见学得还不够扎实,希望高手指点一二!谢谢了
inner class存在的意义
小弟我写Java程序也有一段日子了,除了使用“匿名的inner class”,其它情况下都没有觉得inner class有它存在的意义,希望哪位大侠指点一下小弟在什么情况下inner class有它使用的价值,谢啦,^_^
虚函数存在的意义
C++这门编程语言40年屹立不倒,并在C++11标准推出后又迸发出新的活力,人们用到的操作系统,移动设备,嵌入式,分布式,Php,JAVA,Python都是C/C++缔造的,C/C++写的程序运行效率高,轻松实现跨平台性,相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和容器类等等,使之更加符合现代程序设计的需要。
指针函数存在的意义是什么
百度google不出来。。。也想不太明白。。rnrn大家讨论一下?
delete [] 存在的意义?
今天看Effective C++其中条款5:对应的new和delete要采用相同的形式。想想以前写代码的时候也是一直这样写的。但现在想想觉得delete [] 是不是有点多余呢?rn 例如int * pInt = new int;可以看成是int * pInt = new int[1];这样的形式,这样的话就不用即有delete pInt;这种形式,还有delete [] pInt;这样的形式了。全部统一成delete pInt;实际执行delete [] pInt的工作,这样岂不是更好更简便?也不会出现因为漏写[]而导致内存泄漏的问题。而我当初以为delete可以单独删除某个元素,例如:rn[code=c]rnint * pInt = new int[10];rndelete (pInt+1); // 单独删除某个元素,实际无法执行rn[/code]rndelete pInt;这样会造成内存泄露,这种形式存在有什么意义呢?rn小弟疑惑求各位达人解答!
全局变量存在的意义
小弟最近让全局变量好好收拾了一下,望大哥们给偶上上课.rnrn在维护以前的代码的时候,满天的全局变量,让我好找.整天在为那个变量到底会在哪被修改郁闷.数据被"无缘无故"的修改,给调试带来吐血的感受.刀子跟我说:最好别用那东西.有理!rn但雨点却说:在内存小的情况下,全局变量可以有效的节省内空间.也有理!rn郁闷了,我该怎么用这个东西,有什么更好的方法和技巧能告知小弟一二不?rn谢谢rn
静态成员函数存在的意义
静态成员函数的特点: 被类的所有的对象共有,不属于某一个对象。通过类名::就可以直接调用。 跟普通的成员函数比,没有隐藏的this指针作为参数。这一点可用于封装线程类。 静态成员函数只可以访问静态成员变量。 静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。 ...
protected和private存在的意义?
是不是为了子类简单,并且方便。如果都使用public,那么子类会非常的大。所以增加了这两种类型的继承。还有其他的作用么?
float存在的意义是什么
看了《程序员面试宝典》的一道题,里面说“printf在以printf("%f")的形式调用时,如果后面的参数是float,那么会自动转换成double型,”,然后又在网上搜到了这篇文章rnhttp://www.cnblogs.com/Xiao_bird/archive/2010/03/26/1696908.html,最后一句话就是结论rn不禁怀疑float类型存在的意义是什么?求解答或者共同探讨一下
AcceptChanges存在的意义是什么?
MSDN的定义rnAcceptChanges:提交自上次调用 AcceptChanges 以来对该表进行的所有更改。rnrn调用 AcceptChanges 时,任何仍处于编辑模式的 DataRow 对象将成功结束其编辑。 DataRowState 也发生更改:所有 Added 和 Modified 行都变为 Unchanged,Deleted 行则被移除。rn在您尝试使用 DbDataAdapter.Update 方法更新 DataSet 之后,通常会对 DataTable 调用 AcceptChanges 方法。rnrn1.Update把挂起更改更新到数据源了,更新完之后DataRowState也变成Unchanged,为什么还要AcceptChanges?rn2.MSDN定义中的“提交”如何理解,这个“提交“是提交到哪?rn
XmlSchemaGroup存在的意义?
问题是关于System.Xml.Schema.XmlSchemaGroup这个类,看msdn中说明,感觉跟w3c有些出入,rn可能是我理解错误,请大家帮忙。rnrnmsnd中XmlSchemaGroup类有如下示例代码rn[code=C#]rn // rn XmlSchemaComplexType myComplexType = new XmlSchemaComplexType();rn schema.Items.Add(myComplexType);rn myComplexType.Name = "myComplexType";rnrn // rn XmlSchemaGroupRef myGroupOfThingsRef = new XmlSchemaGroupRef();rn myComplexType.Particle = myGroupOfThingsRef;rn myGroupOfThingsRef.RefName = new XmlQualifiedName("myGroupOfThings");rn[/code]rnrn[code=XML]rn rn rn rn rn rn rn rnrn rn rn rn rn[/code]rnrnGroup直接放在了XmlSchemaComplexType的Particle属性中rn查看Particle属性支持的内容可以发现为:rnGets or sets the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes.rn也就是说rnXmlSchemaGroupRefrnXmlSchemaChoicernXmlSchemaAllrnXmlSchemaSequencern在同一层次 rnrn在w3schools上面看了一个例子(当然也可能是这个网站教程的问题)rnhttp://www.w3schools.com/schema/schema_complex_indicators.asprnrn[code=XML]rnrn rn rn rn rn rnrnrnrnrnrn rn rn rn rnrn[/code]rnrn感觉Group是在rnXmlSchemaChoicernXmlSchemaAllrnXmlSchemaSequencern的下层rnrnrn这两者之前怎么看都有些冲突,不知道哪个对?rnrn如果像microsoft写的那样,感觉XmlSchemaGroup这个类没任何存在意义。rn它里面必须用rnXmlSchemaChoicernXmlSchemaAllrnXmlSchemaSequencern中的一种。rnrnrn
接口存在的意义!?
那位大虾麻烦给我解释一下 C#编程的中的接口有什么意义啊!!rn不过是些方法名的集合而已,自己一开始就写在自己想要实现的类里面不就可以了吗 rn还搞的怎么麻烦 又要去继承接口,再来实现方法 rn麻烦那位大虾说说 为什么要这么做啊!!!!
接口存在的意义????
我们知道,接口的存在是为了让不同的类多态的实现一些同名的方法。但是,如果我们在设计类的时候就用相同的名字命名这些方法不就可以了么?为什么要用接口??rn比如说,下面两个用接口和不用接口的实现有什么区别???rnrn用接口:rn////////////////////////////////////////////////////////////////////rn //接口rn public interface soundinterrn rn void sound();rn rn rn //类Arn class a implements soundinterrn rn public void sound()rn rn System.out.println("this is a");rn rn rnrn //类Brn class b implements soundinterrn rn public void sound implements sound()rn rn System.out.println("this is b");rn rn rnrn不用接口:rn////////////////////////////////////////////////////////////////////rn //类Arn class arn rn public void sound()rn rn System.out.println("this is a");rn rn rnrn //类Brn class brn rn public void sound()rn rn System.out.println("this is b");rn rn
Git存在的意义
版本控制工具主要分为集中式和分布式。 (1)集中式版本控制工具 集中式版本控制工具有SVN、CVS、VSS……,其中SVN成为集中式版本控制工具的主流,其原理工作图如图1所示。开发人员(客户端)只能与服务器建立通信,只有服务器才能存储历史文件和版本信息,而客户端就只能保存当前的状态信息,不能存储历史信息。由于这种工作方式,使得集中式版本控制工具主要的缺点就是单点故障,即一旦服务器损坏,所有的历...
架构存在的意义
架构是干嘛的?我至今没看到过用架构的情况,都用默认的dbo。rn比较经典的叙述是:rn架构是为了便于管理数据库对象的。rn架构概念出来的问题:不同登陆用户对不同数据库对象得分配rn这里假设数据库对象只是表,有表,其中表的架构为默认架构rntable1,table2,table3rn有登陆名rnlogin1,login2,login3rn三个登陆对象数据库的用户:rnuser1,user2,user3rn这时候实际的问题就出来了,要求user1,user2,user3对表们具有不同的权限。rn我想这就是实际问题吧,实际问题就是这样,不同用户对不同数据库对象具有不同操作权限。rn这里假设问题为:rnuser1对table1,具有select权限,对其它表没有权限,user2对table2有update权限,对其它表没有权限,user3对table3表有delete权限,对其它表有不同的权限.rn这是我的答案:rn[code=SQL]rnrn--建立数据库--rnuse masterrnif exists(select 1 from sys.databases where name='database1')rn drop database database1rncreate database database1rn--建立表--rnuse database1rnif object_id('table1')is not nullrn drop table table1rncreate table table1rn(rnname nvarchar(3)rn)rnif object_id('table2')is not nullrn drop table table2rncreate table table2rn(rnname nvarchar(3)rn)rnif object_id('table3')is not nullrn drop table table3rncreate table table3rn(rnname nvarchar(3)rn)rn-------建立账号---------rnexec sp_addlogin 'login1','aacxg@126.comaacxg@126.com','database1'rnexec sp_addlogin 'login2','aacxg@126.comaacxg@126.com','database1'rnexec sp_addlogin 'login3','aacxg@126.comaacxg@126.com','database1'rn--建立数据库用户----rnuse database1rnexec sp_grantdbaccess 'login1','user1'rnexec sp_grantdbaccess 'login2','user2'rnexec sp_grantdbaccess 'login3','user3'rn-----基础工作做过完--------rn----------问题:------------------rn--1.user1对table1,具有select权限,对其它表没有权限--rn--2.user2对table2,具有select权限,对其它表没有权限--rn--1.user3对table3,具有select权限,对其它表没有权限---rn--问题1---rn--建角色--rnuse database1rnexec sp_addrole 'role1'rngrant select on table1 to role1rn--附加到user1上--rnexec sp_addrolemember 'role1','user1'rn--问题2---rn--建角色--rnuse database1rnexec sp_addrole 'role2'rngrant select on table2 to role2rn--附加到user2上--rnexec sp_addrolemember 'role2','user2'rn--问题3--rn--建角色--rnuse database1rnexec sp_addrole 'role3'rngrant select on table3 to role3rn--附加到user3上--rnexec sp_addrolemember 'role3','user3'rn[/code]rn我想说的是,用默认架构dbo,我们用角色和用户两个就可以实现不同用户不同权限呀。rn架构存在的意义是什么?[color=#FF0000]谁举出个不用架构就解决不了的例子?![/color]rn
关于内核同步,顺序锁,读锁存在的意义
[code=c]rnu64 get_jiffies_64(void)rnrn unsigned long seq;rn u64 ret;rn rn do rn seq = read_seqbegin(&xtime_lock);rn ret = jiffies_64;rn while(read_seqretry(&xtime_lock),seq));rn rn return ret;rnrn[/code]rnrn上面get_jiffies_64的方法,使用read_seqbegin的意义是什么?rnrn我感觉不用也可以rnrn对应的定时器中断更新jiffies的值用了顺序写锁rnrn[code=c]rnwrite_seqlock(&xtime_lock);rnjiffies_64 += 1;rnwrite_sequnlock(&xtime_lock);rn[/code]
关于设计(三)设计存在的意义
如果你坚持看完了前面两篇文章,真的理解了什么是设计,设计怎么去做,那么今天属于一个进阶教程。        一直以来,我一直在思考寻找设计的用途。为什么这么说呢?我一直觉得,只有找到设计的用途,才算是真正明白设计的重要性。就像一个刚入门的程序员,你去给他讲设计,那是对牛弹琴,只有具有一定高度的人,干了几年的软件工作、裁减了几年的裁缝,才知道衣服缝好那是基本的,能保证冻不死人而已,但是如果缺少
CISCO正则表达式的符号意义
CISCO正则表达式的符号意义
请问这个正则表达式的意义
.+(?i)(400|403|404|500)+rnrn匹配的是什么类型的组合?
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview