Laffinty是什么意思思?

性情中人是什么意思?_百度知道
性情中人是什么意思?
提问者采纳
  甚至,而内心却是怎样性情的一个人。没想到、性情中人喜欢幻想,也会为自己的缺点诡辩,但眼睛里却揉不得一粒沙子,百事不问。兴去则止,也看不得虚伪的人。  18。凡事讲个大概、赞许之类的。  好像,是感情丰富的人。不喜欢投机钻营。宁愿伤身体。  17,感受力强的意思吧,都宁愿把他当真。往往别人还没有喝好,“随心所欲”、爱恨分明的人。快乐时想个三岁的孩子,性情中人这四个字,掏心窝里的话都对人家说,“却道天凉好个秋”。自以为“天生我才必有用”,也容易气馁、性情中人一般没有大功,独处时落寞忧伤。有什么工作不喜欢拖拖拉拉。可是。可以任劳,而自己到头来一无所有,几年不见,也不黑,在良好的教育里长大,询叶罐妒忒德谨略而不愿意麻烦别人。性情中人执拗啊。当然了,这四个字。耐不得寂寞。消沉时垂头丧气、性情中人容易激动,无论春秋,哪怕是美好的一个瞬间,在《水浒传》中评定义那些血腥的英雄好汉。有许多种具体的条件下,是情感大于理智的人。殊不知有的人是有意套你的话的、看电视剧之类有情节的东西,但思路不够严谨。而人的内心呢。常常生活在梦里头。往往怕罪人,是能够义无反顾的人,很少受到生活的苦难,人的精神是寄托于肉体的,脸相看不完、老了丑了俏了!”做事的不少。但当他们一个个地都走到前面去了。  性情中人,富贵在天”,对自己造成许多的不利,弄清楚这几个字的含义,其实应该是本性吧。有时小楼一统:或挥毫泼墨,也没有捉襟见肘,兄弟和睦,既不是大富大贵。兴来则发,却安于现状,是真的意思,性情中人就是一种感觉吧,遇事宁愿委屈自己,也不计较后果,稀缺的资源、性情中人脸皮子薄,如“九万里风鹏正举”。见到身旁的同僚或者下属投机钻营。  19、性情中人仗义疏财。  在这个越来越复杂的社会上,是典型的平安之命,好交朋友。呵呵;情呢。有时候“死要面子活受罪”、性情中人一般比较健谈、性情中人往往很实在,古今中外。过去的一些美好的人或者美好的事、感情丰富的一类人。所有这些的综合,也幻想荣华富贵,也很透明,胖了瘦了,临清流而赋诗”。因此,自己却嘴得云里雾里了,是变化不定、性情中人文思敏捷,酒兴尤高!  3,至少是很多时候不很冷静理智的人,又有多少变幻不定的东西,性情中人主要是来形容人内心的,性情中人应该是形容一个人对另一个人内心的某一刻的感受的,自己却还在痴心的等待,幻想未来、性情中人说话比较随便。如果按照这种解释,往往三句好话就把别人当成知己。  21性情中人往往既不厚。往往被人当成马前卒子,拆开来看,除妻子受不了自己的任性外,也不想去为难人家,太在乎别人的感受,反应着所有的这些、物理等自然界有千变万化,却围绕着一些内涵的感觉,,寄情山水,但也要自圆其说,只是有时候偏偏不按牌理出牌,觉得“钱不在多,又太在乎自己的感受,更喜欢回忆。发起脾气来!  5,足以当大任,总以为自己有济世之才,大帐先锋,拼命里地喝。虽然明知道这是自欺欺人,应该是忠于内心感受的人。  13,性情中人心中燥动不安,“沽酒客来风也醉”,子女孝顺。常常学古人的样子,自己想做什么就做什么去,高兴得手舞足蹈。“臂膀上跑得马”,都是值得为此喝上一大杯的。  7。性,一边搽还一边骂自己,也不喜欢玩弄权术、性情中人喜欢相信别人,偏偏要违背理智的人。在人面前、性情中人喜欢把喜怒哀乐挂在脸上  在经常听到一种评价,还不只是这么简单地就可以概括了。天马行空,无论从性情人本身来说,天上的事晓得一半”,张口就说出来了。自己不虚伪,大约是感情丰富。当别人靠自己的帮助得到的好处,在时下又成为一种视角了。  16,常常后悔“该不那样说的。激动时豪情万丈,晃如隔世,成长的道路也比较顺利:我瞧不起,受伤的是自己,还振振有辞、性情中人往往有个好的家庭环境,瞬息喜怒哀乐纷呈、性情中人喜欢“与人乐”,却不喜欢当听众。我想那评价别人和得到评价的人,不肖一顾。容易得到别人的敬爱、抚琴吟哦,似乎“地上的事晓得完,评价一个人外表看不出来,对新闻不怎么感兴趣,只好自我调侃,幻想爱情。  15,直到最后真相大白。比如,比较确切一点,天下旅”?  看来,很有深意、性情中人常常感叹命运不公、性情中人灵活有余,还了他的糠”一样。有时候想得天花乱坠。就是人本身,“把栏杆拍遍”。  性情中人。喜欢谋事,人死而神灭,是敢爱敢恨:“怎么这么没用。但当现实与梦不一致时。  11,如何确定,性情中人,喜欢帮人的忙,东汉王充早从无神论的角度说过,往往上当受骗,最怕别人欺骗自己的感情,或指点江山。且不要说化学,据我所知:“某某误我,在这个越来越真假难辨时代,大叫一声,也唐人的笔记中描绘过隐居的高士,性情中人、性情中人是个好人,费了这么大功夫,但不是个“很”人,到后来。可能是说。有时还装模做样地“登东皋以舒号,特别是三朋四友在一起。性情中人。幻想明天,总是不以为事,却不可以任怨。  24、激扬文字,认为那是小人的伎俩,“偷得浮生几日闲,更不喜欢人管。  其实,总的来说日子还是过的比较顺心。群聚时热情高涨,还在明清的话本小说中刻画过那些才子佳人和青楼女子,常常地在心里千百次地回味,常常看着着陪着情节里面的人物一起流出眼泪,治国之德。喜欢当说客,才会翻然醒悟、性情中人生活条件一般较好,显得稀有,晓风残月”。  22,大呼上当,性情中人究竟是什么意思吧,总是喜欢自己的那点小聪明,暴跳如雷,做事比较任性,真诚而感情丰富的人?”  12,不愿伤感情。  23。  9,到头来也成不了一件事,不喜欢谋人,行几里路,凭良心做人,总是以这样或那样的理由为别人的错误开脱,也许没往深处想,受不了孤独、看电影:“沉舟侧畔千帆过,还有些感慨。生气时象谁“借了他的米,命里无时莫强求”。  4。父母慈善。哪怕是别人随便的一句承偌。他们的信念是凭本事吃饭,是指一类吧!”  2。也多少有点本事,别人早忘记到爪哇国了,是略有不合时宜的人,而自己却依然如故、性情中人感情丰富,也没有大过。和了一把好牌、性情中人喜欢喝酒,杨柳岸。为他人做嫁衣裳、性情中人爱好旅游,还附加了很多的内容,有事也做白日梦,喜欢看小说,不喜欢“独乐乐”。信奉“生死有命;中人,病树前头万木春”,在这个物质压抑人性的潮流中,只好躲在某一个角落独自感叹、性情中人往往自以为是、性情中人喜欢幻想,或者。  20,宁愿三下五除二做完了,我行我素:“命里有时终须有,跳远性强,读几卷书,而这滚滚红尘中,“管你王子升天不升天”,对人对事讲究个“得过且过”。喜欢用情,性情中人不仅是没有理智的人,处事全凭自觉,有用就行”,价值经常会被放大,好象什么话题都插得上嘴,不愿意管人。也许这种定义,老朋友几年不见。这评价中是略有几分暗暗的羡慕的,还是从物质社会的现实来看,却不容易得到别人的敬佩。当然。从经济学的意义上来说,性情中人也有外壳的。  6,则应该联在一起,看来被人评价为性情中人的人,而原则不足,人的内心是多么难把握的一件事啊。  8,丰富阅历,天南海北。于我。  看来。  14,性情中人不在乎自己:蒙头大睡。  1,大概性情中人应该说是那些真诚的,但成功的不多,在时下。往往有什么话,借酒消愁“今朝酒醒何处。  10。有时心比天高、性情中人喜欢自由自在,还可能是理性很强的人,真是麻烦。在不同的情况下还有很多细节,说某某是性情中人,逍遥作
提问者评价
其他类似问题
按默认排序
其他9条回答
情有义 有感情,大喜大悲流露于外,讲道义,比较感性的人 简单的说就是性格外向
真诚的、感情丰富、比较直爽的一类人,多数不能掩饰自己的情绪,有的则比较容易被人利用。
豪爽,有感情明事理之人.
有血性的,有感情的,有豪情的人
性格比较好,直爽
用某些人的话,也可以叫做是难以脱俗之人
就是小雨: 28零1四3零零零四
卫校毕业后刚做这行的,可爱,求舒服!能够面对龙骑士毫不畏惧的雇佣军,整个帝国找不到。
真诚的、感情丰富的一类人
性情中人的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁相机APS-C画幅是什么意思?_百度知道
相机APS-C画幅是什么意思?
提问者采纳
1996年由FujiFilm、Kodak、Canon、Minolta、Nikon五大公司联合开发的APS(Advance Photo System)胶片系统问世。APS开发商在原135规格的基础上进行了彻底改进,包括相机、感光材料、冲印设备以及相关的配套产品上都全面创新,大幅度缩小了胶片尺寸,使用了新的智能暗盒设计,融入了当代的数字技术,成为了能记录光学信息、数码信息的智能型胶卷。
APS定位于业余消费市场,共设计了三种底片画幅(H、C、P):
C型画幅是长宽比为3:2(24.9×16.6mm),在数码相机技术的高速发展冲击下,APS系统未能得到展开应用就早早就已经“夭折”了。但是在现在的数码相机的CCD(CMOS)的尺寸接近这个尺寸(24.9×16.6mm)的,往往就称呼它APS-C画幅.
提问者评价
谢谢,很易懂。
其他类似问题
按默认排序
其他1条回答
通常把135胶片的尺寸36×24mm称为全画幅。CCD尺寸接近APS-C尺寸的22.5 x 15.0 mm和23.6 x 15.8 mm、23.7×15.6mm 、22.2×14.8mm 都称为APS-C画幅。全幅的画面信噪比更高,噪点更少,宽容度更高。
aps的相关知识
等待您来回答
您可能关注的推广回答者:
下载知道APP
随时随地咨询
出门在外也不愁“临.兵.斗.者.皆.阵.列.在.前”是什么意思?_百度知道
“临.兵.斗.者.皆.阵.列.在.前”是什么意思?
提问者采纳
道门里对此九字的诀法我还没有见过,常当视之。阵,在下没有否定他们的存在呀,与之相对应的九个手印(说是九个,可以驱吉避凶,口念奇门九字诀,考试前一天用这个方法;妙&天&字---用於海岸戏水、斗、前、火,分别为。  奇门九字诀  抱朴子曰,再於其中书&quot,然后随意翻开书本;字,百步不可回头  是中国古代思想的一种,口念奇门九字诀。  兵 者 阵 行  │ │ │ │  临 ——┼—┼—┼—┼——  │ │ │ │  斗 ——┼—┼—┼—┼——  │ │妙│ │  皆 ——┼—┼—┼—┼——  │ │ │ │  列 ——┼—┼—┼—┼——  │ │ │ │  前 ——┼—┼—┼—┼——  │ │ │ │  注意事项;字---用於各类比赛  (9)看病书&quot,(葛洪者。)前、普贤三昧印),口念一字;景&遁&quot?  其实这九个字源于东晋葛洪的《抱朴子*登涉篇》。  疑问、外缚印,画四纵五横,避免伤及无辜,兵、组、皆,念此九字,再画上四纵五横;字---用於男女朋友交往时  (3)市贾书&quot、烈、土、日轮印和宝瓶印(隐形印)。  ◎考前猜题  愈接近考试,吹在手心,但以我看来。在、外狮子印。  ◎读书增加记忆力的方法  对著所要读的书本用剑指画四纵五横,右手剑指?  临、水;临兵斗者皆阵列前行&quot,结果第二天考卷一发下来;通&quot,至此、者,令心想事成,再写个&quot,在(一作“于”),代表心电感应或隐身,入山宜知六甲秘祝。  ◎美梦成真的方法  把梦中情人的名字;字---用於夜晚外出时  (7)入众书&quot、列、前九字,就可以找到停车位;&#39。”  意思是说、皆;停&利&quot。在抄录这九个字时,大概是被两者的繁写体搞混的缘故,会有不可思议的效果;鬼&quot,代表宇宙共鸣,凡此九字长念之,可令一觉到天亮,可惜我对密宗的心法所知不多?  好好好,右(手)捻剑诀;&#39。  这九个字分别的意思是:&quot。  兵 者 阵 行  │ │ │ │  临 ——┼—┼—┼—┼——  │ │ │ │  斗 ——┼—┼—┼—┼——  │ │景│ │  皆 ——┼—┼—┼—┼——  │ │ │ │  列 ——┼—┼—┼—┼——  │ │ │ │  前 ——┼—┼—┼—┼——  │ │ │ │  ◎生活上的妙法之一  吃鱼的时候不小心被鱼刺 到喉咙怎堋办、皆、兵:  曾有一位林小姐应徵工作(电脑资讯相关行业),阵,日本真的有这种阴阳师,以剑指对著方向盘;字---用於饮酒避免宿醉时  (11)入水书&quot?  回答,手画一笔;字---用於探病求医时  (10)吃酒书&quot:就好比电视剧里的人物可以一年到头不用换衣服一样,心想希望停车的地方,斗、斗,用红笔写在黄纸上,也许是自然出现过,可以从中化出恒河沙数的手印来,杀伤力亦强、行”误抄成“阵,诸邪不侵;字---用於游戏时  (6)夜行书&quot,只是对他们的九字真言提出一点疑问罢了,画上四纵五横,宣扬采药炼丹,搭船前;◇&quot、在?此时以剑指对著喉咙画四纵五横,代表能量,再写个&quot、在,亦可保平安,(一作“洞”)者、大金刚轮印;字---用於生意买卖时  (4)出行书&quot、者、遁甲出行诀  此法至诚闭气吸东方生气一口、列:  把床移至阳宅延年方(见阳宅篇)、阵。  八、斗;合&#92:不动根本印(独占印,皆,念此九字,《孔雀王》,以剑指对书本施四纵五横法,代表危机感应,为免伤及无辜,又名奥义九字切,相信如果有密宗上师结印的话,可增加理解力及记忆力:就是我们熟知的金,旅行时  (5)博戏书&quot。  如欲找停车位。者。  (1)见官书&停&quot。(五元素,列(一作“裂”),很快就可以美梦成真、内狮子印、前”而沿用至今;少&quot,摺好放在枕头下,运气不好可以转运,您啊,皆数组前行。  《临;弟子某某因故施法,竟然有百分之八十是昨天所读到的;字,无所不避、在、兵,漫画作品也是如此,代表光明:即使抄错了也可以用来驱邪么,您别急呀……  临、列;,可以剑指对空书四纵五横。  案例。  施法前务请先默祷&quot,前》最早见于道家《抱扑子》内篇,就可以辟除一些邪恶,其实不过是个虚名,重复这个动作;强&quot,代表复原,最后再在中间以意念输入你的愿望,好象是叫九字真言什么的,括号内是异译法)分别为,写在左手心上、前  九字真言,书字即行。  ◎奇门九字诀用法、阵;安&quot、智拳印(知券印),把“数,每个字都有相应的手印配合。  ◎增加人缘的方法。  兵 者 阵 行  │ │ │ │  临 ——┼—┼—┼—┼——  │ │ │ │  斗 ——┼—┼—┼—┼——  │ │安│ │  皆 ——┼—┼—┼—┼——  │ │ │ │  列 ——┼—┼—┼—┼——  │ │ │ │  前 ——┼—┼—┼—┼——  │ │ │ │  ◎增加考运的妙法  以剑指在准考忒融侈缎侬等拂纶证上空书四纵五横。  ◎睡不好怎堋办  用红笔黄纸画四纵五横;字;,结印的手法十分复杂,代表身心稳定。  在外住宿若怕房间不乾净;字---见主管或主官  (2)求婚书&#92、木,可以让你早日结成好姻缘:  口中常念此九字,常念这九个字,一定很有力量;乾&字---用於在人群中不被发现  (8)入阵书&quot、前  经常在一些收妖除灵的题材里看到这九字密宗真言,代表对五元素的控制,一面对书本愈不知道重点在那 :临,故使用时宜心存善念。  ◎找停车位的方法  车子要到达目的地前五分钟到十分钟:  左(手)捻天罡,再在中间写个&quot,乃东晋时结合儒家思想改造道教。  兵 者 阵 行  │ │ │ │  临 ——┼—┼—┼—┼——  │ │ │ │  斗 ——┼—┼—┼—┼——  │ │◎│ │
◎ 书入意念  皆 ——┼—┼—┼—┼——  │ │ │ │  列 ——┼—┼—┼—┼——  │ │ │ │  前 ——┼—┼—┼—┼——  │ │ │ │  四纵五横法施法要诀,又名奥义九字,就将就着看吧,可保一夜安眠到天亮,一定有相应的指诀,很快就可以心想事成;字即可,无所不辟;字---用於外出、兵,上车前。  如出门在外、者,《东京巴比伦》……  那么这九字密宗真言到底是什么意思呢,是第几页就读那一段,后来我又在密宗手印中见到、长生不老的人,握拳,以右手剑指空书四纵五横,往往也有人将“阵”做“陈”字:临,十次有九次会成功,代表时空控制。  ◎心想事成的方法  把你的愿望用红笔写在黄纸上,道教变成为封建统治服务的宗教)“临兵斗者;字,敬请无冤无仇者先回避&quot。兵、在、内缚印。斗、阵:  此法最是殊胜,摺好放在枕头下。皆,并在其中写个&quot。列!什么什么您说什么、四纵五横法  此法可以趋吉避凶,祝曰。  七,如《美少女战士》,日本神道教常用;龙&quot
其他类似问题
按默认排序
其他2条回答
com/Article/comic/comicart//Article/comic/comicart/9://www
唱~找到拉,
备斟我是你的灰姑娘都愚
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁正则表达式_百度百科
收藏 查看&正则表达式
正则表达式又称正规表示法常规表示法Regular Expression在代码中常简写为regexregexp或RE的一个概念正则表达式使用单个字符串来描述匹配一系列符合某个句法规则的在很多里正则表达式通常被用来检索替换那些符合某个模式的文本许多都支持利用正则表达式进行字符串操作例如在中就内建了一个功能强大的正则表达式引擎正则表达式这个概念最初是由中的工具软件例如和普及开的正则表达式通常缩写成regex有regexpregex有regexpsregexesregexen外文名Regular Expression代码简写egex、regexp或RE
正则表达式[1]的鼻祖或许可一直追溯到科学家对人类神经系统工作原理的早期研究美国新泽西州的Warren McCulloch和出生在美国底特律的Walter Pitts这两位神经生理方面的科学家研究出了一种用数学方式来描述神经网络的新方法他们创造性地将神经系统中的神经元描述成了小而简单的自动控制元从而作出了一项伟大的工作革新
在1956 年,出生在被Mark Twain称为美国最美丽的城市之一的市的一位名叫Stephen Kleene的数学科学家他在Warren McCulloch和Walter Pitts早期工作的基础之上发表了一篇题目是神经网事件的表示法的论文利用称之为正则集合的数学符号来描述此模型引入了正则表达式的概念正则表达式被作为用来描述其称之为正则集的代数的一种表达式因而采用了正则表达式这个术语
之后一段时间人们发现可以将这一工作成果应用于其他方面Ken Thompson就把这一成果应用于计算的一些早期研究Ken Thompson是 Unix的主要发明人也就是大名鼎鼎的Unix之父Unix之父将此引入编辑器QED然后是Unix上的编辑器ed并最终引入grepJeffrey Friedl 在其著作Mastering Regular Expressions (2nd edition)中文版译作精通正则表达式已出到第三版中对此作了进一步阐述讲解如果你希望更多了解正则表达式理论和历史推荐你看看这本书
自此以后正则表达式被广泛地应用到各种UNIX或类似于UNIX的工具中如大家熟知的Perl的正则表达式源自于Henry Spencer编写的regex之后已演化成了pcrePerl兼容正则表达式Perl Compatible Regular Expressionspcre是一个由Philip Hazel开发的为很多现代工具所使用的库正则表达式的第一个实用应用程序即为Unix中的 qed 编辑器
然后正则表达式在各种或各种应用领域得到了广大的应用和发展演变成为森林中的一只形神美丽且声音动听的百灵鸟
以上是关于正则表达式的起源和发展的历史描述如今正则表达式在基于的和搜索工具中依然占据着一个非常重要的地位
在最近的六十年中正则表达式逐渐从模糊而深奥的数学概念发展成为在计算机各类工具和软件包应用中的主要功能不仅仅众多UNIX工具支持正则表达式近二十年来在WINDOWS的阵营下正则表达式的思想和应用在大部分 Windows 开发者工具包中得到支持和嵌入应用从正则式在Microsoft Visual Basic 6 或 Microsoft VBScript到.NET Framework中的探索和发展WINDOWS系列产品对正则表达式的支持发展到无与伦比的高度几乎所有 Microsoft 开发者和所有.NET语言都可以使用正则表达式如果你是一位接触的工作者那么你会在主流操作系统*nix[Linux, Unix等]WindowsHPBeOS等主流的开发语言以及等数以亿万计的各种中都可以看到正则表达式优美的舞姿正则表达式是对串操作的一种逻辑公式就是用事先定义好的一些特定字符及这些特定字符的组合组成一个规则字符串这个规则字符串用来表达对字符串的一种过滤逻辑
给定一个正则表达式和另一个字符串我们可以达到如下的目的
1. 给定的字符串是否符合正则表达式的过滤逻辑称作匹配
2. 可以通过正则表达式从字符串中获取我们想要的特定部分
正则表达式的特点是
1. 灵活性逻辑性和功能性非常的强
2. 可以迅速地用极简单的方式达到字符串的复杂控制
3. 对于刚接触的人来说比较晦涩难懂
由于正则表达式主要是文本因此它在各种场合都有应用小到著名编辑器EditPlus大到Microsoft WordVisual Studio等大型编辑器都可以使用正则表达式来处理文本内容正则引擎主要可以分为两大类一种是DFA一种是NFA这两种引擎都有了很久的历史(至今二十多年)当中也由这两种引擎产生了很多变体于是POSIX的出台产生规范了不必要变体的继续产生这样一来主流的正则引擎又分为3类一DFA二传统型NFA三POSIX NFA
引擎在线性时状态下执行因为它们不要求回溯并因此它们永远不测试相同的字符两次DFA 引擎还可以确保匹配最长的可能的字符串但是因为 DFA 引擎只包含有限的状态所以它不能匹配具有反向引用的模式并且因为它不构造显示扩展所以它不可以捕获子表达式
传统的 NFA 引擎运行所谓的贪婪的匹配以指定顺序测试正则表达式的所有可能的扩展并接受第一个匹配项因为传统的 NFA 构造正则表达式的特定扩展以获得成功的匹配所以它可以捕获子表达式匹配和匹配的反向引用但是因为传统的 NFA 回溯所以它可以访问完全相同的状态多次如果通过不同的路径到达该状态因此在最坏情况下它的执行速度可能非常慢因为传统的 NFA 接受它找到的第一个匹配所以它还可能会导致其他可能更长匹配未被发现
POSIX NFA 引擎与传统的 NFA 引擎类似不同的一点在于在它们可以确保已找到了可能的最长的匹配之前它们将继续回溯因此POSIX NFA 引擎的速度慢于传统的 NFA 引擎并且在使用 POSIX NFA 时您恐怕不会愿意在更改回溯搜索的顺序的情况下来支持较短的匹配搜索而非较长的匹配搜索
使用DFA引擎的程序主要有awk,egrep,flex,lex,MySQL,Procmail等
使用传统型NFA引擎的程序主要有GNU Emacs,Java,ergp,less,more,.NET语言,PCRE library,Perl,PHP,Python,Ruby,sed,vi
使用POSIX NFA引擎的程序主要有mawk,Mortice Kern Systems utilities,GNU Emacs(使用时可以明确指定)
也有使用DFA/NFA混合的引擎GNU awk,GNU grep/egrep,Tcl
举例简单说明NFA与DFA工作的区别
比如有字符串this is yaabcs blog正则表达式为 /ya(msen|nsen|nsem)/ (不要在乎表达式怎么样这里只是为了说明引擎间的工作区别) NFA工作方式如下先在字符串中查找 y 然后匹配其后是否为 a 如果是 a 则继续查找其后是否为 m 如果不是则匹配其后是否为 n (此时淘汰msen选择支)然后继续看其后是否依次为 s,e接着测试是否为 n 是 n 则匹配成功不是则测试是否为 m 为什么是 m 因为 NFA 工作方式是以正则表达式为标准反复测试字符串这样同样一个字符串有可能被反复测试了很多次
而DFA则不是如此DFA会从 this 中 t 开始依次查找 y定位到 y 已知其后为 a 则查看表达式是否有 a 此处正好有 a 然后字符串 a 后为 n DFA依次测试表达式此时 msen 不符合要求淘汰nsen 和 nsem 符合要求然后DFA依次检查字符串检测到sen 中的 n 时只有nsen 分支符合则匹配成功
由此可以看出来两种引擎的工作方式完全不同一个(NFA)以表达式为主导一个(DFA)以文本为主导一般而论DFA引擎则搜索更快一些但是NFA以表达式为主导反而更容易操纵因此一般程序员更偏爱NFA引擎 两种引擎各有所长而真正的引用则取决与你的需要以及所使用的语言用于查找在某些内容(但并不包括这些内容)之前或之后的东西也就是说它们像\b,^,$那样用于指定一个位置这个位置应该满足一定的条件(即断言)因此它们也被称为零宽断言最好还是拿例子来说明吧
(?=exp)也叫零宽度正预测先行断言[2]它断言自身出现的位置的后面能匹配表达式exp比如\b\w+(?=ing\b)匹配以ing结尾的单词的前面部分(除了ing以外的部分)如查找I'm singing while you're dancing.时它会匹配sing和danc
(?&=exp)也叫零宽度正回顾后发断言[2]它断言自身出现的位置的前面能匹配表达式exp比如(?&=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分)例如在查找reading a book时它匹配ading
假如你想要给一个很长的数字中每三位间加一个逗号(当然是从右边加起了)你可以这样查找需要在前面和里面添加逗号的部分((?&=\d)\d{3})+\b用它对xxxxxxxxxx进行查找时结果是xxxxxxxxxx
下面这个例子同时使用了这两种断言(?&=\s)\d+(?=\s)匹配以空白符间隔的数字(再次强调不包括这些空白符)
断言用来声明一个应该为真的事实正则表达式中只有当断言为真时才会继续进行匹配如果我们只是想要确保某个字符没有出现但并不想去匹配它时怎么办例如如果我们想查找这样的单词--它里面出现了字母q但是q后面跟的不是字母u,我们可以尝试这样
\b\w*q[^u]\w*\b匹配包含后面不是字母u的字母q的单词但是如果多做测试(或者你思维足够敏锐直接就观察出来了)你会发现如果q出单词的结尾的话像Iraq,Benq这个表达式就会出错这是因为[^u]总要匹配一个字符所以如果q是单词的最后一个字符的话后面的[^u]将会匹配q后面的单词分隔符(可能是空格或者是句号或其它的什么)后面的\w*\b将会匹配下一个单词于是\b\w*q[^u]\w*\b就能匹配整个Iraq fighting负向零宽断言能解决这样的问题因为它只匹配一个位置并不消费任何字符我们可以这样来解决这个问题\b\w*q(?!u)\w*\b
零宽度负预测先行断言(?!exp)断言此位置的后面不能匹配表达式exp例如\d{3}(?!\d)匹配三位数字而且这三位数字的后面不能是数字\b((?!abc)\w)+\b匹配不包含连续字符串abc的单词
同理我们可以用(?&!exp),零宽度负回顾后发断言来断言此位置的前面不能匹配表达式exp(?&![a-z])\d{7}匹配前面不是小写字母的七位数字
请详细分析表达式(?&=&(\w+)&).*(?=&\/\1&)这个表达式最能表现零宽断言的真正用途
一个更复杂的例子(?&=&(\w+)&).*(?=&\/\1&)匹配不包含属性的简单HTML标签内里的内容(?&=&(\w+)&)指定了这样的前缀被尖括号括起来的单词(比如可能是&b&)然后是.*(任意的字符串),最后是一个后缀(?=&\/\1&)注意后缀里的\/它用到了前面提过的字符转义将/转义\1则是一个反向引用引用的正是捕获的第一组前面的(\w+)匹配的内容这样如果前缀实际上是&b&的话后缀就是&/b&了整个表达式匹配的是&b&和&/b&之间的内容(再次提醒不包括前缀和后缀本身)摘自
正则表达式[3]由一些普通和一些metacharacters组成普通包括大小写的字母和数字而则具有特殊的含义我们下面会给予解释
在最简单的情况下一个正则表达式看上去就是一个普通的查找串例如正则表达式"testing"中没有包含任何它可以匹配"testing"和"123testing"等字符串但是不能匹配"Testing"
[4] 要想真正的用好正则表达式正确的理解是最重要的事情下表列出了所有的和对它们的一个简短的描述
将下一个字符标记为一个特殊字符或一个原义字符或一个向后引用或一个八进制转义符例如\\n匹配\n\n匹配换行符序列\\匹配\而\(则匹配(
匹配输入字符串的开始位置如果设置了RegExp对象的Multiline属性^也匹配\n或\r之后的位置
匹配输入字符串的结束位置如果设置了RegExp对象的Multiline属性$也匹配\n或\r之前的位置
匹配前面的子表达式零次或多次(大于等于0次)例如zo*能匹配zzo以及zoo*等价于{0,}
匹配前面的子表达式一次或多次(大于等于1次例如zo+能匹配zo以及zoo但不能匹配z+等价于{1,}
匹配前面的子表达式零次或一次例如do(es)?可以匹配do或does中的do?等价于{0,1}
n是一个非负整数匹配确定的n次例如o{2}不能匹配Bob中的o但是能匹配food中的两个o
n是一个非负整数至少匹配n次例如o{2,}不能匹配Bob中的o但能匹配foooood中的所有oo{1,}等价于o+o{0,}则等价于o*
m和n均为非负整数其中n&=m最少匹配n次且最多匹配m次例如o{1,3}将匹配fooooood中的前三个oo{0,1}等价于o?请注意在逗号和两个数之间不能有空格
当该字符紧跟在任何一个其他限制符*,+,?{n}{n,}{n,m}后面时匹配模式是非贪婪的非贪婪模式尽可能少的匹配所搜索的字符串而默认的贪婪模式则尽可能多的匹配所搜索的字符串例如对于字符串ooooo+?将匹配单个o而o+将匹配所有o
匹配除\r\n之外的任何单个字符要匹配包括\r\n在内的任何字符请使用像[\s\S]的模式
匹配pattern并获取这一匹配所获取的匹配可以从产生的Matches集合得到在VBScript中使用SubMatches集合在JScript中则使用$0…$9属性要匹配圆括号字符请使用\(或\)
(?:pattern)
匹配pattern但不获取匹配结果也就是说这是一个非获取匹配不进行存储供以后使用这在使用或字符(|)来组合一个模式的各个部分是很有用例如industr(?:y|ies)就是一个比industry|industries更简略的表达式
(?=pattern)
正向肯定预查在任何匹配pattern的字符串开始处匹配查找字符串这是一个非获取匹配也就是说该匹配不需要获取供以后使用例如Windows(?=95|98|NT|2000)能匹配Windows2000中的Windows但不能匹配Windows3.1中的Windows预查不消耗字符也就是说在一个匹配发生后在最后一次匹配之后立即开始下一次匹配的搜索而不是从包含预查的字符之后开始
(?!pattern)
正向否定预查在任何不匹配pattern的字符串开始处匹配查找字符串这是一个非获取匹配也就是说该匹配不需要获取供以后使用例如Windows(?!95|98|NT|2000)能匹配Windows3.1中的Windows但不能匹配Windows2000中的Windows
(?&=pattern)
反向肯定预查与正向肯定预查类似只是方向相反例如(?&=95|98|NT|2000)Windows能匹配2000Windows中的Windows但不能匹配3.1Windows中的Windows
(?&!pattern)
反向否定预查与正向否定预查类似只是方向相反例如(?&!95|98|NT|2000)Windows能匹配3.1Windows中的Windows但不能匹配2000Windows中的Windows
匹配x或y例如z|food能匹配z或food(z|f)ood则匹配zood或food
字符集合匹配所包含的任意一个字符例如[abc]可以匹配plain中的a
负值字符集合匹配未包含的任意字符例如[^abc]可以匹配plain中的plin
字符范围匹配指定范围内的任意字符例如[a-z]可以匹配a到z范围内的任意小写字母字符
注意:只有连字符在字符组内部时,并且出现在两个字符之间时,才能表示字符的范围; 如果出字符组的开头,则只能表示连字符本身.
负值字符范围匹配任何不在指定范围内的任意字符例如[^a-z]可以匹配任何不在a到z范围内的任意字符
匹配一个单词边界也就是指单词和空格间的位置例如er\b可以匹配never中的er但不能匹配verb中的er
匹配非单词边界er\B能匹配verb中的er但不能匹配never中的er
匹配由x指明的控制字符例如\cM匹配一个Control-M或回车符x的值必须为A-Z或a-z之一否则将c视为一个原义的c字符
匹配一个数字字符等价于[0-9]
匹配一个非数字字符等价于[^0-9]
匹配一个换页符等价于\x0c和\cL
匹配一个换行符等价于\x0a和\cJ
匹配一个回车符等价于\x0d和\cM
匹配任何空白字符包括空格制表符换页符等等等价于[ \f\n\r\t\v]
匹配任何非空白字符等价于[^ \f\n\r\t\v]
匹配一个制表符等价于\x09和\cI
匹配一个垂直制表符等价于\x0b和\cK
匹配包括下划线的任何单词字符等价于[A-Za-z0-9_]
匹配任何非单词字符等价于[^A-Za-z0-9_]
匹配n其中n为十六进制转义值十六进制转义值必须为确定的两个数字长例如\x41匹配A\x041则等价于\x04&1正则表达式中可以使用ASCII编码
匹配num其中num是一个正整数对所获取的匹配的引用例如(.)\1匹配两个连续的相同字符
标识一个八进制转义值或一个向后引用如果\n之前至少n个获取的子表达式则n为向后引用否则如果n为八进制数字0-7则n为一个八进制转义值
标识一个八进制转义值或一个向后引用如果\nm之前至少有nm个获得子表达式则nm为向后引用如果\nm之前至少有n个获取则n为一个后跟文字m的向后引用如果前面的条件都不满足若n和m均为八进制数字0-7则\nm将匹配八进制转义值nm
如果n为八进制数字0-7且m和l均为八进制数字0-7则匹配八进制转义值nml
匹配n其中n是一个用四个十六进制数字表示的Unicode字符例如\u00A9匹配版权符号&
\& \&匹配词word的开始\&和结束\&例如正则表达式\&the\&能够匹配字符串"for the wise"中的"the"但是不能匹配字符串"otherwise"中的"the"注意这个元字符不是所有的软件都支持的\( \)将 \( 和 \) 之间的表达式定义为组group并且将匹配这个表达式的字符保存到一个临时区域一个正则表达式中最多可以保存9个它们可以用 \1 到\9 的符号来引用|将两个匹配条件进行逻辑或Or运算例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her"但是不能匹配"it belongs to them."注意这个元字符不是所有的软件都支持的+匹配1或多个正好在它之前的那个字符例如正则表达式9+匹配999999等注意这个元字符不是所有的软件都支持的?匹配0或1个正好在它之前的那个字符注意这个元字符不是所有的软件都支持的{i} {i,j}匹配指定数目的字符这些字符是在它之前的表达式定义的例如正则表达式A[0-9]{3} 能够匹配字符"A"后面跟着正好3个数字字符的串例如A123A348等但是不匹配A1234而正则表达式[0-9]{4,6} 匹配连续的任意4个5个或者6个数字最简单的是点它能够匹配任何单个字符注意不包括换行符假定有个文件test.txt包含以下几行内容
he is arat
he is in a rut
the food is Rotten
I like root beer
我们可以使用grep命令来测试我们的正则表达式grep命令去尝试匹配指定文件的每一行并将至少有一处匹配表达式的所有行显示出来命令
grep r.t test.txt
在test.txt文件中的每一行中搜索正则表达式r.t并打印输出匹配的行正则表达式r.t匹配一个r接着任何一个字符再接着一个t所以它将匹配文件中的rat和rut而不能匹配Rotten中的Rot因为正则表达式是大小写敏感的要想同时匹配大写和小写字母应该使用区间方括号正则表达式[Rr]能够同时匹配R和r所以要想匹配一个大写或者小写的r接着任何一个字符再接着一个t就要使用这个表达式[Rr].t
要想匹配行首的字符要使用抑扬字符^有时也被叫做插入符例如想找到text.txt中行首"he"打头的行你可能会先用简单表达式he但是这会匹配第三行的the所以要^he它只匹配在行首出现的h
有时候指定除了×××都匹配会比较容易达到目的当抑扬字符^出方括号中时它表示排除例如要匹配he 但是排除前面是t or s的情形也就是the和she可以使用[^st]he
可以使用方括号来指定多个字符区间例如正则表达式[A-Za-z]匹配任何字母包括大写和小写的正则表达式[A-Za-z][A-Za-z]* 匹配一个字母后面接着0或者多个字母大写或者小写当然我们也可以用+做到同样的事情也就是[A-Za-z]+ 和[A-Za-z][A-Za-z]*完全等价但是要注意+ 并不是所有支持正则表达式的程序都支持的关于这一点可以参考后面的正则表达式语法支持情况
要指定特定数量的匹配要使用大括号注意必须使用来转义想匹配所有10和100的实例而排除1和 1000可以使用10\{1,2\}这个正则表达式匹配数字1后面跟着1或者2个0的模式在这个的使用中一个有用的变化是忽略第二个数字例如正则表达式0\{3,\} 将匹配至少3个连续的0
将所有方法foo(a,b,c)的实例改为foo(b,a,c)这里ab和c可以是任何提供给方法foo()的参数也就是说我们要实现这样的转换
foo(10,7,2) foo(7,10,2)
foo(x+13,y-2,10) foo(y-2,x+13,10)
foo( bar(8), x+y+z, 5) foo( x+y+z, bar(8), 5)
下面这条替换命令能够实现这一魔法
:%s/foo(\([^,]*\),\([^,]*\),\([^)]*\))/foo(\2,\1,\3)/g
让我们把它打散来加以分析写出这个表达式的基本思路是找出foo()和它的括号中的三个参数的位置第一个参数是用这个表达式来识别的\([^,]*\)我们可以从里向外来分析它
[^,] 除了逗号之外的任何字符
[^,]* 0或者多个非逗号字符
\([^,]*\) 将这些非逗号字符标记为\1这样可以在之后的替换模式表达式中引用它
\([^,]*\), 我们必须找到0或者多个非逗号后面跟着一个逗号并且非逗号字符那部分要标记出来以备后用
正是指出一个常见错误的最佳时机为什么我们要使用[^,]*这样的一个表达式而不是更加简单直接的写法例如.*来匹配第一个参数呢设想我们使用模式.*来匹配字符串"10,7,2"它应该匹配"10,"还是"10,7,"为了解决这个两义性ambiguity正则表达式规定一律按照最长的串来在上面的例子中就是"10,7,"显然这样就找出了两个参数而不是我们期望的一个所以我们要使用[^,]*来强制取出第一个逗号之前的部分
这个表达式我们已经分析到了foo(\([^,]*\)这一段可以简单的翻译为当你找到foo(就把其后直到第一个逗号之前的部分标记为\1然后我们使用同样的办法标记第二个参数为\2对第三个参数的标记方法也是一样只是我们要搜索所有的字符直到右括号我们并没有必要去搜索第三个参数因为我们不需要调整它的位置但是这样的模式能够保证我们只去替换那些有三个参数的foo()方法调用在foo()是一个overloading方法时这种明确的模式往往是比较保险的然后在替换部分我们找到foo()的对应实例然后利用标记好的部分进行替换是把第一和第二个参数交换位置
正则表达式语法支持情况
命令或环境
          Visual C++
          awk
    √
        Tcl
        grep
        egrep
          perl
    √
四个字符是所有语言都支持的正则表达式所以这个四个是基础的正则表达式正则难理解因为里面有一个等价的概念这个概念大大增加了理解难度让很多初学者看起来会蒙如果把等价都恢复成原始写法自己书写正则就超级简单了就像说话一样去写你的正则了
  等价  ?,*,+,\d,\w 都是等价字符  等价于匹配长度{0,1}  *等价于匹配长度{0,}   +等价于匹配长度{1,}  \d等价于[0-9]  \w等价于[A-Za-z_0-9]
常用运算符与表达式  ^ 开始   域段  [] 包含,默认是一个字符长度  [^] 不包含,默认是一个字符长度  {n,m} 匹配长度   . 任何单个字符(\. 字符点)  | 或  \ 转义  $ 结尾  [A-Z] 26个大写字母  [a-z] 26个小写字母  [0-9] 0至9数字
[A-Za-z0-9] 26个大写字母26个小写字母和0至9数字   分割  .    分割语法  [A,H,T,W] 包含A或H或T或W字母  [a,h,t,w] 包含a或h或t或w字母  [0,3,6,8] 包含0或3或6或8数字
  语法与释义  基础语法 "^([]{})([]{})([]{})$"  正则字符串 = "开始[包含内容]{长度}[包含内容]{长度}[包含内容]{长度}结束"     ?,*,+,\d,\w 这些都是简写的,完全可以用[]和{}代替在(?:)(?=)(?!)(?&=)(?&!)(?i)(*?)(+?)这种特殊组合情况下除外  初学者可以忽略?,*,+,\d,\w一些简写标示符学会了基础使用再按表自己去等价替换
    实例  字符串tel:086-9999  原始正则"^tel:[0-9]{1,3}-[0][0-9]{2,3}-[0-9]{8,11}$"   速记理解开始 "tel:普通文本"[0-9数字]{1至3位}"-普通文本"[0数字][0-9数字]{2至3位}"-普通文本"[0-9数字]{8至11位} 结束"  等价简写后正则写法"^tel:\d{1,3}-[0]\d{2,3}-\d{8,11}$" 简写语法不是所有语言都支持1 正则表达式应用替换指定内容到行尾
2 正则表达式应用数字替换
3 正则表达式应用删除每一行行尾的指定
4 正则表达式应用替换带有括号的多行
5 正则表达式应用删除空行
6 正则表达式应用实例应用1正则表达式应用替换指定内容到行尾
原始文本如下面两行
123 abc 444
希望每次遇到abc则替换abc以及其后到行尾的内容为abc efg
即上面的文本最终替换为
123 abc efg
① 在替换对话框查找内容里输入abc.*替换内容输入为abc efg
② 同时勾选正则表达式然后点击全部替换按钮
其中符号的含义如下
. =匹配任意
* =匹配0次或更多
注意其实就是正则表达式替换这里只是把一些曾经提出的问题加以整理单纯从正则表达式本身来说就可以引申出成千上万种特例
2正则表达式应用数字替换
asdadas123asdasdas456asdasdasd789asdasd
asdadas[123]asdasdas[456]asdasdasd[789]asdasd
在替换对话框里面勾选正则表达式
在查找内容里面输入([0-9])([0-9])([0-9])不含引号
替换为:里面输入[\1\2\3]不含引号
####备注####查找[0-9]+ 替换[\1] 更简单通用些
范围为你所操作的范围然后选择替换即可
实际上这也是正则表达式的使用特例[0-9]表示匹配0~9之间的任何特例同样[a-z]就表示匹配a~z之间的任何特例
上面重复使用了[0-9]表示连续出现的三个数字
括号用来选择原型进行分组替换时要用
\1代表第一个[0-9]对应的原型\2代表第二个[0-9]对应的原型依此类推
[|]为单纯的表示添加[或]如果输入其它\1\2\3其它则替换结果为
asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd
如果将查找内容[0-9][0-9][0-9]改为[0-9]*[0-9]对应1 或 123 或 12345 或 ...
大家根据需要定制
相关内容还有很多可以自己参考正则表达式的语法仔细研究一下
3正则表达式应用删除每一行行尾的指定
因为这几个在行中也是出现的,所以肯定不能用简单的替换实现
需要删除每行末尾的345
这个也算正则表达式的用法其实仔细看正则表达式应该比较简单不过既然有这个问题提出说明对正则表达式还得有个认识过程解决方法如下
在替换对话框中启用正则表达式
在查找内容里面输入345$
这里$表示从行尾匹配
如果从行首匹配可以用^来实现不过 EditPlus 有另一个功能可以很简单的删除行首的字符串
a. 选择要操作的行
b. 编辑-格式-删除行注释
c. 在弹出对话框里面输入要清除的行首确定
4正则表达式应用替换带有半角括号的多行
几百个网页中都有下面一段代码
&script LANGUAGE=&JavaScript1.1&&
htmlAdWH(';, '728', '90');
我想把它们都去掉可是找了很多search & replace的软件都是只能对一行进行操作
EditPlus 打开几百个网页文件还是比较顺畅的所以完全可以胜任这个工作
具体解决方法在 Editplus 中由于()被用做预设表达式或者可以称作子表达式的标志所以查找
&script LANGUAGE=&JavaScript1.1&&\n&!--\nhtmlAdWH(';, '728', '90'.);\n//--&\n&/SCRIPT&\n
时会提示查找不到所以也就无法进行替换了这时可以把()使用任意标记替代即句号.替换内容为
&script LANGUAGE=&JavaScript1.1&&\n&!--\nhtmlAdWH.';, '728', '90'.;\n//--&\n&/SCRIPT&\n
在替换对话框启用正则表达式选项这时就可以完成替换了
对( ) 这样的特殊符号应该用\( \)来表示这也是很标准的regexp语法可以写为
&script LANGUAGE=&JavaScript1.1&&\n&!--\nhtmlAdWH\(';, '728', '90'\);\n//--&\n&/SCRIPT&\n
5正则表达式应用删除空行
启动EditPlus打开待处理的文本类型文件
①选择查找的替换命令弹出对话框选中正则表达式表明我们要在查找替换中然后选中替换范围中的表明对当前文件操作
②单击查找内容右侧的按钮出现下拉菜单
③下面的操作添加正则表达式该表达式代表待查找的空行技巧提示空行仅包括回车符且必须以这三个符号之一作为一行的开头并且以回车符结尾查找空行的关键是构造代表空行的正则表达式
直接在&查找&中输入正则表达式^[ \t]*\n注意\t前有
1选择从行首开始匹配查找内容中出现字符^表示待查找字符串必须出中一行的行首
2选择在范围中那么在^后会增加一对括号[]当前在括号中括号在正则表达式中表示文本中的匹配括号中任意一个字符即符合查找条件
3按一下添加是空行的一个组成成分
4选择添加代表制表符的\t
5移动将当前移到]之后然后选择匹配 0 次或更多该操作会添加星号字符*星号表示其前面的括号[]内的或在一行中出现0个或多个
6选择换行符插入\n表示回车符
④替换为保持空表示删除查找到的内容单击替换按钮逐个行删除空行或单击全部替换按钮删除全部空行注意EditPlus有时存在全部替换不能一次性完全删除空行的问题可能是程序BUG需要多按几次按钮
6 正则表达式应用实例应用
1.验证用户名和密码&^[a-zA-Z]\w{5,15}$&正确格式&[A-Z][a-z]_[0-9]&组成,并且第一个字必须为字母6~16位
2.验证电话号码&^(\\d{3,4}-)\\d{7,8}$&正确格式xxx/xxxx-xxxxxxx/xxxxxxxx
3.验证手机号码&^1[3|4|5|8][0-9]\\d{8}$&
4.验证身份证号15位或18位数字&\\d{14}[[0-9],0-9xX]&
5.验证Email地址(&^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\.\\w+([-.]\\w+)*$&)
6.只能输入由数字和26个英文字母组成的字符串(&^[A-Za-z0-9]+$&) ;
7.整数或者小数^[0-9]+([.]{0,1}[0-9]+){0,1}$
8.只能输入数字&^[0-9]*$&
9.只能输入n位的数字&^\\d{n}$&
10.只能输入至少n位的数字&^\\d{n,}$&
11.只能输入m~n位的数字&^\\d{m,n}$&
12.只能输入零和非零开头的数字&^(0|[1-9][0-9]*)$&
13.只能输入有两位小数的正实数&^[0-9]+(.[0-9]{2})?$&
14.只能输入有1~3位小数的正实数&^[0-9]+(\.[0-9]{1,3})?$&
15.只能输入非零的正整数&^\+?[1-9][0-9]*$&
16.只能输入非零的负整数&^\-[1-9][]0-9&*$
17.只能输入长度为3的字符&^.{3}$&
18.只能输入由26个英文字母组成的字符串&^[A-Za-z]+$&
19.只能输入由26个大写英文字母组成的字符串&^[A-Z]+$&
20.只能输入由26个小写英文字母组成的字符串&^[a-z]+$&
21.验证是否含有^%&',;=?$\&等字符&[^%&',;=?$\x22]+&
22.只能输入汉字&^[\u4e00-\u9fa5]{0,}$&
23.验证URL&^http://([\\w-]+\.)+[\\w-]+(/[\\w-./?%&=]*)?$&
24.验证一年的12个月&^(0?[1-9]|1[0-2])$&正确格式为&01&~&09&和&10&~&12&
25.验证一个月的31天&^((0?[1-9])|((1|2)[0-9])|30|31)$&正确格式为&01&~&09&&10&~&29&和30~31
26.获取日期正则表达式\\d{4}[年|\-|\.]\\d{\1-\12}[月|\-|\.]\\d{\1-\31}日?
评注可用来匹配大多数年月日信息
27.匹配双(包括汉字在内)[^\x00-\xff]
评注可以用来计算串的长度一个双字符长度计2ASCII字符计1
28.匹配空白行的正则表达式\n\s*\r
评注可以用来删除空白行
29.匹配HTML标记的正则表达式&(\S*?)[^&]*&.*?&/&|&.*? /&
评注网上流传的版本太糟糕上面这个也仅仅能匹配部分对于复杂的嵌套标记依旧无能为力
30.匹配首尾空白的正则表达式^\s*|\s*$
评注可以用来删除行首行尾的空白(包括空格换页符等等)非常有用的表达式
31.匹配网址URL的正则表达式[a-zA-z]+://[^\s]*
评注网上流传的版本功能很有限上面这个基本可以满足需求
32.匹配帐号是否合法(字母开头允许5-16允许字母数字下划线)^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注表单验证时很实用
33.匹配腾讯QQ号[1-9][0-9]\{4,\}
评注号从10 000 开始
34.匹配中国邮政编码[1-9]\\d{5}(?!\d)
评注中国邮政编码为6位数字
35.匹配ip地址((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)
评注提取ip地址时有用
Function IsRegu(Regu,s)
'正则表达式校验
If Regu=&& Then
Exit Function
Dim Re,Sre
Set Re = New RegExp
Re.Pattern = Regu
Sre = Re.Test(s)
If Sre = True Then
IsRegu = True
IsRegu = False
End Function
if (IsRegu(&\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&,tmp )) =false then
msgbox &E-mail地址不合法 &
FieldCheck#N=false
不同的语言如PHP和JAVA相同语言的不同类库如来自Sun的Java Regular Expression类库跟Apache Jakarta的正则表达式类库间用法会有所差别在使用的时候要注意这些差别functionIsValidUrl(str){
varregu=&^(https?://)&
+&?(([0-9a-z_!~*'().&=+$%-]+:)?[0-9a-z_!~*'().&=+$%-]+@)?&
+&(([0-9]{1,3}\.){3}[0-9]{1,3}&
+&([0-9a-z_!~*'()-]+\.)*&
+&([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.&
+&[a-z]{2,6})&
+&(:[0-9]{1,4})?&
+&(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$&;
varre=newRegExp(regu);
if(!re.test(str)){
参考[5]1 心中时刻保持新颖想法尝试用各种新办法来解决遇到的问题对于遇到的问题在用常规的解决思路无法解决或不能很好解决的时候可以大胆探索尝试采用新的方法或思路来解决问题说大点就是创新没有新思路估计今天的正则表达式还要等几百年才能露现人间
2 善于学习和借鉴前人的经验和成果UNIX鼻祖Ken Thompson是什么样子的人是被计算机界尊称为UNIX之父的大师级别的人物大师都在不断思考从其它学科其它知识领域的工作成果来改进自己的工作或程序事实也证明这样做取得巨大结果和后来的深远影响是事先谁也无法预估到的我们在做一些事情或研究的时间是否也考虑学习大师的优秀习惯
3 学好数学英语并保持对数学英语的兴趣数学也是人类几千年积累的智慧结晶学习数学知识可以培养和训练人的思维能力看这篇文章的朋友我想很多都是的朋友至于数学和英语对于计算机学习和发展的重要性的道理这里就不在多说重在实践加持之以恒
4 养成独立思考的习惯上学时候老师经常说人与动物的最大区别是人能思考拉美洲有句关于思考的谚语是不会思考的人是白痴不肯思考的人是懒汉不敢思考的人是奴隶我想大家和我一样既不愿做懒汉奴隶更不愿做白痴所以相信正则分享网的朋友们一定会选择做一个会思肯思敢思的人
5 当正则表达式和字符串函数都能解决问题时一定要使用字符串函数这样不容易出错最重要的是字符串函数比正则表达式实现性能上要好得多[1]正则表达式教程chm完整版是一本详细介绍了正则表达式的电子书教程全书共分为8个小节详细的讲述了正则表达式的定义各种操作符的运算优先级全部符号解释正则表达式匹配规则参考文献以及相关实例等全书简明扼要能够很好的帮助读者们正确掌握学习好正则表达式从而在软件编程中得到更好的发挥[6]
新手上路我有疑问投诉建议参考资料 查看}

我要回帖

更多关于 sacred seven ost 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信