JS 正则表明式<转>

作者: 澳门十大赌场排名  发布:2019-11-26

人物生平
 
出生
 
  尽管对于霍华德·休斯的出生日期仍然有争论,一般认为霍华德·休斯1905年12月24日出生于美国得克萨斯州休斯顿。其父母为老霍华德·休斯和Allene Gano Hughes。老霍华德·休斯是钻探石油使用的双锥旋转钻头的发明者和休斯工具公司的创办者。老霍华德·休斯发明的钻头在石油钻探史上有革命意义发明。但是霍华德·休斯的父母在其十几岁的时候双双故去,霍华德·休斯继承了其父亲的大部分遗产。
 
教育
 
  在十几岁的时候,霍华德·休斯宣称其人生目标为成为世界上最好的高尔夫球员,世界上最好的飞行员和世界上最好的电影制作人。霍华德·休斯一生曾经在很多优秀学校就读,但是从来没有能够拿到一个学位。他曾经就读的学校有位于 马萨诸塞州西牛顿的Fessenden School,加利福尼亚Ojai的Thacher School,加州理工和Rice Institute(现Rice大学)。在Rice就读期间霍华德·休斯继承了其父亲的公司,霍华德·休斯辍学。
 
电影制作人
 
  霍华德·休斯利用其继承的财产跻身电影界。一开始霍华德·休斯并不被电影界看好,认为他只是一个富家的纨绔弟子。但是1927年他发行了他拍摄的处女作《Everybody's Acting》和《两个阿拉伯骑士》,两部电影都获得了商业成功。《两个阿拉伯骑士》获得了奥斯卡最佳喜剧片导演奖。1928年的《The Racket》和1931年的《The Front Page》都获得了奥斯卡奖提名。他花费了空前的400万美元私有资金自编自导的空战史诗片《地狱天使》和他1932年制作的《伤疤脸》都成为了非常成功的影片。霍华德·休斯最知名的电影为Jane Russell主演的《歹徒》。由于在《伤疤脸》中的暴力情节和《歹徒》中的暴露镜头,这两部影片遭到当时电影工业界的严格审查《伤疤脸》后来于1983年重拍。
  霍华德·休斯是著名的花花公子,同他有染的知名女性包括凯瑟琳·赫本、贝蒂·戴维斯、吉恩·蒂尔尼(Gene Tierney)、爱娃·嘉德纳(Ava Gardner)等。
 
航空家和工程师
 
  霍华德·休斯终生都是一个航空爱好者,一个飞行员还是一个自学成才的航空工程师。霍华德·休斯14岁开始学习飞行。他创造了很多飞行世界记录,在掌管休斯飞行器期间还设计并制造了几架飞机。他设计的飞机中最重要的应当为休斯H-1赛手。1935年9月13日,在试飞过程中霍华德·休斯驾驶H-1创造了566公里/小时的速度记录。1937年1月19日,霍华德·休斯驾驶一架改装过的H-1创造了7小时28分25秒从洛杉矶到纽约的飞行记录,平均飞行速度518公里/小时,之前的记录为其创造的9小时27分。
  H-1赛手包括若干项创新设计,例如流线型机身,可收放起落架,向机身找平的铆钉和接头以减少空气阻力等。零式,Focke-Wulf FW190,F6F地狱猫等二战期间的战机都受到了H-1的影响。1975年,霍华德·休斯使用的H-1捐献给了位于华盛顿哥伦比亚特区的史密森尼博物馆名下的国家航空航天博物馆。
  1938年7月10日霍华德·休斯驾驶一架洛克希德Super Electra创造了91小时环球飞行的世界记录。
  1938年休斯顿的William P. Hobby机场被命名为霍华德·休斯机场,但是由于人们反对使用仍然健在的人的名字命名机场,该机场的名字后来又改回了原名。霍华德·休斯一生获得了很多奖项。包括1936年和1938年Harmon Trophy,1939年Collier Trophy和1940年的Octave Chanute Award。美国国会为了表彰其环球飞行的功绩专门颁发了一枚国会奖章。据《纽约时报》报道霍华德·休斯从来没有去华盛顿哥伦比亚特区领奖,最终美国总统哈利·S·杜鲁门把这枚奖章寄给了霍华德·休斯。
  1938年,曾做过好莱坞特技飞行员的跨大陆及西部航空Transcontinental and Western Air (T&WA)执行主管William John Frye购买了一批33座的波音307型客机。这种客机是世界上第一种有增压仓的客机。William John Frye通过游说同样为航空前卫人士的霍华德·休斯获得了足够的资金而霍华德·休斯则成为T&WA的最大投资人。由于霍华德·休斯的推动,T&WA在四十年代和五十年代一直是最先进客机的积极购买者。在休斯的管理下,T&WA取得了长足进步并更名为环球航空Trans World Airlines, TWA。TWA于2001年被美国航空(American Airline, AA)并购。
 
休斯飞机公司
 
  主条目:休斯飞机公司
  霍华德·休斯1932年创办了休斯飞机公司,目的是为了将战斗机改装成H-1型竞速飞机。公司位于洛克希德飞机公司加州博班的一个飞机仓库,当时是休斯工具公司的一个分部。二战期间,休斯飞机公司成为了一个主要的军机供应商,此后1947年又成立了直升机部门。
  1948年休斯在飞机公司创建了一个新部门, 休斯空间集团。此后成为一个独立的公司。1961年成为休斯空间与通讯公司。 休斯飞机公司在1985年被通用汽车收购成为休斯电子。1990年代末又被通用汽车出售。一部分后来被并入麦道公司,并最终由于麦道被并购而加入波音。公司的另一部分在1998年被雷神合并。
 
空难
 
  1946年7月7日,霍华德·休斯在试飞XF-11时飞机发生故障坠毁于比华利山庄。飞机撞毁了三栋房屋并引燃大火。霍华德·休斯受伤后被刚好在附近访问朋友的美国海军陆战队军士长William L. Durkin救出。霍华德·休斯在这次事故中折断了领骨六根肋骨并受到大面积三度烧伤。很多人认为在其治疗过程中大量使用的吗啡和止疼药导致霍华德·休斯后来的鸦片瘾。他标志性的小胡子就是在这次事故后为了遮盖上唇的伤疤而留的。
 
云杉鹅
 
  霍华德·休斯一生付出最大努力的飞机是H-4大力神,人们通常把这架飞机称为“云杉鹅” (这架飞机实际上大部分是使用白桦木制造而不是云杉)。“云杉鹅”是一架巨型水上飞机,至今还保持着最大翼展的世界纪录。其机身高度同空中客车A380相同,为并列世界第一,但是如果去掉起落架的话“云杉鹅”就要高于空中客车A380。其长度仅次于安-225,波音747和空中客车A380居世界第四位。霍华德·休斯亲自操纵她于1947年11月2日飞行了1英里。这架飞机是为美国在第二次世界大战中的应用制造的,但是在二战结束后才完工。美国参议院组成了一个调查委员会并把霍华德·休斯传到华盛顿解释为什么没有能够在战争结束前交货。但是这个调查委员会在提交最终报告前就解散了。
 
霍华德·休斯医学研究所
 
  1953年霍华德·休斯在特拉华州创立了霍华德·休斯医学研究所专注于生物医学研究包括对“生命本身起源”的研究。
 
理查德·尼克松与水门事件
 
  1960年美国总统选举前,理查德·尼克松被揭发其兄弟曾接受霍华德·休斯20万零5千美元的贷款而且从未偿还而落选。
  水门事件中,被闯入的办公室属于霍华德·休斯的雇员。
 
Glomar Explorer
 
  1972年中央情报局请霍华德·休斯帮助打捞一艘在夏威夷附近沉没的苏联潜艇。霍华德·休斯以采集海底锰结核为名制造了一艘深海潜艇Glomar Explorer来进行此项秘密工程。
  1974年打捞工作开始,但是在打捞过程中发生的机械故障导致潜艇断裂,半艘潜艇落到了海底。很多人认为在失落的半艘潜艇中有苏联海军的密码本和核导弹。在打捞上来的半艘潜艇中美国获得了两枚核鱼雷和密码机,6名苏联海军人员的尸体也被打捞上来。工作人员为这六名苏联海军人员举行了正规的海葬并进行了电影记录。
  1974年,一个小偷从霍华德·休斯的办公室盗走了相关的资料。
  1975年,这项名为“詹尼弗项目”的行动曝光。
 
隐居
 
  霍华德·休斯患有强迫性精神症。50年代末,曾经是美国最引人瞩目的人之一的霍华德·休斯彻底从公众的视线中消失。尽管小报经常报道关于霍华德·休斯的谣言,但是这些消息多半无法得到证实,例如不同的报纸曾经多次报道过霍华德·休斯的死亡。   霍华德·休斯在很早就表现出来,在30年代,霍华德·休斯的朋友说霍华德·休斯在吃他最喜欢吃的豆子的时候对豆子的大小非常介意,要用一个特殊的叉子把豆子按大小排序后再吃。在拍摄The Outlaw的时候,霍华德·休斯对Jane Russell的衣服的小问题表现出非常的执着,声称衣服上的褶暴令Jane Russell的乳房看上去像是有两个乳头。后来他给工作人员写了一个详细的备忘录说明如何处理这个问题。
  霍华德·休斯最终陷入了彻底的隐居状态,每天把自己锁在黑屋子里面。尽管他有一个随叫随到的理发师,霍华德·休斯每年才剪一次头发和指甲。在霍华德·休斯居住的地方通常会有好几个霍华德·休斯高价雇佣的医生,但是霍华德·休斯很少让他们看病而且不听他们的。在他生命的末期,霍华德·休斯的圈子里主要为摩门教徒,因为他认为只有摩门教徒才可以相信。
  在这一阶段,霍华德·休斯对可卡因,地西泮等多种药物上瘾,并且越来越虚弱。很多传记和小说里说他用牛奶瓶装尿,并且用纸巾盒做鞋。但据报道他仅有一次马桶漏水的时候用纸巾盒做鞋以“保护”自己。他坚持拿东西的时候要垫上纸巾,这样可以把他和细菌隔开。霍华德·休斯很年轻的时候就感染了梅毒,在三期梅毒阶段他的手上长了小水疱,一般认为医生曾经在这一阶段告诫他不要同别人握手,霍华德·休斯把这不和别人握手的习惯保持了终生。霍华德·休斯还曾经烧毁了自己的全部衣物,有人认为这是因为他担心他害怕梅毒细菌会寄生在他的衣物中。
 
晚年
 
  霍华德·休斯老年从贝弗利山搬到了波士顿,最后有搬到了拉斯维加斯并成了一个赌场大亨。1966年11月27日,霍华德·休斯收购了Desert Inn(现Wynn Las Vegas所在地),这个饭店的第8层成了其王国的控制中心,而第9层则成了他的私人住宅。
  从1966到1968年间,他从黑手党手中收购了Castaways (现Mirage和Treasure Island所在地), Frontier (现名New Frontier), The Landmark Hotel and Casino(现拉斯维加斯会展中心所在地), Sands(现The Venetian所在地)和Silver Slipper等几家主要饭店和赌场,使拉斯维加斯摆脱了黑手党的控制。他希望把拉斯维加斯在人们印象中黑帮加妓女的形象改变为“一个穿着正装的男人和一个戴着珠宝穿着皮草的美丽女人正在从一辆豪华车里面出来的样子”。由于他失眠,他收购了几家拉斯维加斯地方电视台,这样在凌晨的时候他可以看他想看的节目。
  霍华德·休斯的资产由一个被外人戏称为“摩门黑手党”的小组掌管。这个小组除了管理霍华德·休斯的庞大资产之外还负责满足霍华德·休斯的各种奇怪的愿望。霍华德·休斯有一次想吃Baskin Robbins' 的香蕉坚果口味,但是Baskin Robbins' 已经停产这种口味的雪糕,“摩门黑手党”于是按照Baskin Robins' 最小的订单专门定购了350加仑。但是霍华德·休斯几天之后说他又不想吃香蕉坚果口味了。结果Desert Inn向其赌场的顾客免费发放了一年的香蕉坚果口味雪糕。
  作为拉斯维加斯的大亨,霍华德·休斯在内华达有很大的政治和和经济影响力,甚至能够影响美国总统大选的结果。由于担心会受到核辐射,霍华德·休斯还曾经试图提供给美国总统林登·约翰逊和理查德·尼克松每人1百万美元,让他们停止在内华达的地下核试验。霍华德·休斯的助手没有真的去行贿而是告诉他约翰逊拒绝受贿,而尼克松没有联系上。
  1971年Jean Peters以两人分居很久为由申请离婚。Jean Peters仅仅要求了每年7万美元的终生赡养费,附加按照通货膨胀调整,并放弃了霍华德·休斯的财产。霍华德·休斯想给Jean Peters100万美元,但是Peters拒绝了。霍华德·休斯的助手说霍华德·休斯从来没有说过Peters的坏话。Peters也拒绝谈论她和霍华德·休斯之间的生活,仅仅说她在申请离婚前已经有好几年没有见过霍华德·休斯,霍华德·休斯仅仅同她通电话。Peters还拒绝了几个非常有诱惑力的传记作家和出版商的邀请。
  1972年,作家Clifford Irving宣称他将通霍华德·休斯合作一部霍华德·休斯的自传。在这部自传出版之前,霍华德·休斯公开宣布他从来没有写自传。最终Clifford Irving由于欺诈被关了14个月监狱。
 
死亡
 
  1976年4月5日,70岁的霍华德·休斯在从墨西哥的住处去休斯顿的卫理公会医院时在飞机上去世。多年的怠慢使其面容无法辨认,最终FBI通过其指纹认定其是霍华德·休斯。
  尸体解剖认为其死于肾衰竭,但是在其血液中还有致命剂量的可卡因和大量的地西泮。在其胳膊上还发现了四个个折断的针头。身体多处发生骨折,并发现其患有严重的营养不良,身高180CM体重却只有83斤。
  霍华德·休斯最终被葬于休斯顿的Glenwood公墓。
 
遗产
 
  霍华德·休斯没有留下遗嘱,关于其遗产发生了大量的诉讼。
 
其他信息
 
  在美利坚合众国,霍华德·休斯的名字就像华盛顿、亚伯拉罕·林肯一样无人不知。这不仅因为他是美利坚合众国少有的几个享有世界声望的富豪之一,美利坚合众国人更是把他作为一个英雄来看待的。他的一生可谓轰轰烈烈,充满了冒险和刺激。他拥有25亿美元的资产,到了晚年,却隐居世外,行踪莫测,不在公开场合抛头露面。
  1905年12月24日,霍华德·休斯出生于美利坚合众国休斯敦,他的父亲是个石油投机商。老休斯做石油生意没有赚到钱,后来,他从一个朋友那里买下了一种新型的钻井机械。这种钻井机具有特殊的空气压缩式回转锥,可以穿透坚硬的岩层,这对于石油开采业有着巨大的意义。为此,他取得了美利坚合众国国内和海外13个国家的专利,成立了“休斯工具公司”,专门生产这种钻井机,并获得了巨大利润。小休斯就是正当父亲的事业发达的时候出世的,他是独子。
  小休斯是一个孤僻、害羞的少年,而且极其厌恶上学。他宁愿一个人呆在家里,将钟表拆散后再重新安装起来,或者尝试着将脚踏车装上电池改为电动车。对此,他从小就有极大的兴趣。休斯16岁时,他的母亲在一次小手术中,因麻醉失败而死在手术台上。两年后,老休斯也死于心脏麻痹,享年54岁。他留下的资产约合75万美元。葬礼结束后,在处理遗产问题的公听会上,老休斯的亲朋好友们都认为休斯刚满18岁,应该去上大学,他的财产应由他的伯父鲁帕特代管,直到他年满21岁。鲁帕特是一位很有名气的剧作家,也很富有,他并不想争遗产,但他同意亲戚们的意见,认为小休斯还没有掌管财产的能力,应该去上大学。
  当法官征求休斯本人意见时,出乎众人的预料,他很坚决地表示不想再读书。一向沉默寡言的他竟滔滔不绝地说出一番道理:“根据我父亲的遗书,休斯公司的一半股份归我母亲,这是我父亲在我母亲去世以前立的遗书。现在母亲不在人世了,所以母亲的那一份应该由我来继承;剩下的一半,也就是遗产的四分之一也是属于我的。最后的四分之一才由亲友们均分。我希望他们同意,由我把他们的那一部分全买下来。我要拥有休斯公司百分之百的股份。”亲戚们全愣了。法官问:“你用什么来收购他们的股份?”“我向银行贷款,用房产做抵押!我已经是成年人,不需要监护人,并可以继任我父亲休斯工具公司的董事长职务。法官先生,是这样吗?”年仅18岁的休斯,在他父亲去世4个月时取得了银行的贷款,用现金买下了亲友们所继承的那部分遗产,成了休斯公司唯一的主人。
  在20岁以前,霍华德·休斯结了婚,他年轻的妻子艾拉·莱斯的父亲是莱斯大学的创办人。新婚燕尔,休斯夫妇来到洛杉矶。年轻的休斯对电影很有兴趣,可他最初踏入电影界就栽了个不大不小的跟头。他投资拍的第一部片子叫《花花公子荷根》,这是上了一个声名狼藉的演员劳夫·格雷普斯的当,由那人自导自演,结果一败涂地,没有人要那部片子。休斯净赔8万美元。这次失败招来鲁帕特的严厉指责,说他根本就不懂电影。然后又介绍他去找电影行家萨缪尔·哥德温先生,这位先生告诉休斯,搞电影首先要抓到优秀的剧本,这是成功的基础。
  休斯接受了哥德温先生的指教,回去后就开始悉心研究和选择剧本。他选中了一个叫《阿拉伯之夜》的剧本,是关于第一次世界大战欧洲战场上一位严厉的中士和糊涂的士兵的滑稽喜剧。这次,他找了一位优秀导演,叫麦尔斯顿,并起用了几位没有名气但很有潜力的演员来演。这一次,他大获全胜,试演后,全美第一的里波利剧院就提出长期放映的要求,这是史无前例的。《阿拉伯之夜》获第二届奥斯卡最佳喜剧片奖。
  霍华德·休斯酷爱驾驶飞机,有一次,当他驾着单人操纵的私人飞机在马利布海岸上空盘旋时,突发奇想:拍一部表现空战的片子不是会很受欢迎吗?他想到1918年第一次世界大战中,英国空军中校达宁率领7架索匹兹骆驼号战斗机,从巡洋舰上起飞,轰炸德军东得伦空军基地。那是一次出色的越洋轰炸,英军只损失1架飞机,炸沉了两艘敌舰和两只飞艇。休斯决定将这次空战搬上银幕。当时还没有表现空战的电影特技,他准备用真正的飞机,拍一部比实战还要刺激还要壮观的空中大战片,片名为《地狱天使》。
  为了拍这部电影,他仅飞机使用费就花了210万美元,租用了87架飞机,其中有法国的斯巴达战斗机、英国的SE5战斗机、骆驼号轰炸机、德国的佛克战斗机,还有飞行员135名,临时演员2000名;摄影师人数之多几乎占好莱坞摄影师总数的一半。美利坚合众国电影界都为之震动。这次,他仍旧让麦尔斯顿执导。在拍摄过程中,他又突发狂想:要拍德国齐柏林号飞艇袭击伦敦,要将真的飞机在空中击落。他认为这样才能使观众感到刺激。他的秘书底特希利企图阻止这疯狂般的举动:“真的要击落吗?就算是中古型的齐柏林飞艇,一艘也不少于50万美元呀!”休斯毫不在乎:“是的,就买那种飞艇,然后让它轰轰烈烈地爆炸燃烧。没关系,就这样做。”
  拍摄俯冲轰炸场面时,他要求飞行员从距地面30米高处冲下去,撞在地面上爆炸燃烧。飞行员没有一个人愿意干,谁都知道那是要出人命的。没有人愿意冒这个险,休斯说:“那么我来飞给你们看!”他真的上了飞机,而且他的确没有来得及跳出来,当飞机向地面俯冲时,突然翻了个跟头,接着就呼啸坠地。“休斯死了!”人群中发出一片惊呼。
  然而,也许是命运之神特别钟爱这个大胆的年轻人,就在飞机即将燃烧时,休斯居然艰难地从驾驶座里爬了出来,他的伤势并不太重,只是脸颊骨折,后来留下一块疤。
  拍这部片子,休斯花了两年时间,投资300万美元。公映后,上座率确实很高,但舆论界评价不一,有的认为这是一部空前的大制作;也有的人认为,空战场面的确刺激,但性感女演员的恋爱场面则显得无聊极了。从艺术上说,这是一部失败的片子。
  在拍《地狱天使》的过程中,艾拉与休斯离了婚,原因是丈夫只热衷于自己的事业,给她的关心太少了。此后,休斯长期过着单身的生活,直到50岁以后才重新结婚。
  在洛杉矶的加利福尼亚理工大学附近有一座飞机场,飞机场的一个角落有一个被隔离的飞机库。这里有武装警卫人员负责警戒,没有人知道里面是做什么的。其实,这是休斯工具公司一个秘密研制新型飞机的工厂。休斯对飞机非常着迷,在拍《地狱天使》之后,他曾参加了在迈阿密举行的一次全美短程飞行比赛,休斯以302公里的时速一举夺冠。可他并不满足于这样的成绩,他的目标是要打破世界纪录。1927年,美利坚合众国飞行员林白驾机用33小时30分飞越大西洋,轰动了世界,被美利坚合众国人称为“世纪英雄”。休斯为了打破林白创下的纪录,开始致力于新型飞机的研制,他有两位优秀的飞机设计师:帕玛和欧提卡克。他们将未来的飞机命名为H1。
  欧提卡克是一位机械工程师,也热衷于飞行,在拍《地狱天使》时,他是休斯聘用的一名演员,后来得到休斯赏识,被任命为主任设计师。欧提卡克对制造新型飞机有许多大胆的构想,对疯狂地追求速度的休斯来说,他是个难得的人才。在那个秘密的飞机制造厂里,他们不断改进飞机的外形,选用性能最好的1000匹马力的普拉特·惠特尼引擎,用了15个月的时间,终于制造出机身长度为8.2米,机翼长7.6米的H1型单翼飞机。因为机身特别短,谁也不知道它能在空中飞多久,休斯的公司里没有人敢驾机试飞,休斯决定亲自试飞。
  1935年9月12日,一切准备工作就绪时,日已偏西。负责速度测试的裁判技师建议明天再飞,因为现在接近黄昏,飞行逆光刺眼。休斯却等不及了,他早已穿上飞行服,跳进机舱,启动了飞机引擎。飞机升空了。
  第一次测试速度达到556公里。裁判技师通过无线电告诉他:这一次不算,因为违反航空协会的规则,没有做水平飞行。于是,休斯在空中绕了个圈,又作第二次水平飞行。“世界纪录,时速已达566公里!”耳机里传来裁判的叫声。
  休斯兴奋极了,没有立刻降落,继续飞,还想创造新的世界纪录。第三次飞却只有542公里。他不甘心,再飞一次!“567公里。”又是一个新的世界纪录!
  休斯脸上露出得意的微笑,却仍不愿停下,又飞第五次、第六次……突然间,引擎停止了工作,他这才发现主油箱已经没有油了。他连忙去按瞬间补油的按钮,可是无济于事,太迟了,发动机已经完全停下来。
  休斯打算以滑翔的方式紧急着陆,但却控制不了飞机,H1正以垂直下落的速度向地面冲去。这时,天已经暗下来,地面上的航空协会会员们忽然看不见休斯的飞机了,无线电也失去了联系。众人吃惊不小。休斯竭尽全力,总算控制住飞机,在一片甜菜地里平安迫降了。当航空协会的人赶到那里时,只见飞机完好地躺在那儿,休斯一手拿着笔记本,一手握着铅笔,正得意地从机舱里爬出来。他满面笑容:“我创下了世界纪录,难道不是吗?”直到现在,那架飞机还被保存在华盛顿的斯密生航空博物馆里。
  休斯筹划著作横跨美利坚合众国大陆的飞行,他将H1又作了一次较大的改进。更新的机型于1937年1月18日竣工,他将它称为“带翅的子弹”。当天下午,他驾驶着这颗“子弹”从洛杉矶机场起飞,开始了他的世纪之行。飞机很快地爬高到6000米高空,并以时速534公里的平均速度向东飞去。第二天凌晨零点42分,休斯终于平安到达纽约新华克机场,所用时间是7小时28分25秒。在当时美利坚合众国,无论哪一种飞机,横跨美利坚合众国大陆飞行都要9小时以上,有的甚至超过10小时。休斯的纪录是其它航空公司望尘莫及的。这项飞行纪录保持了7年之久。
  不久,富兰克林·罗斯福总统亲自接见了休斯。休斯对这位使美利坚合众国从1929年以来的经济大恐慌中摆脱出来的总统也非常敬仰。富兰克林·罗斯福笑着对他说:“休斯,我在第一次世界大战时,任海军次长,我当时曾驾着海军飞机飞到法国的领空,这次,我真想试试你的‘带翅的子弹’。”“那当然可以!”霍华德·休斯此时开始认真地考虑如何将H1机转为军用,旦美利坚合众国军方采用这种飞机为战斗机,他的飞机公司将大量生产。
  后来,休斯将一架改为战斗机的H1机卖给右野基地军方订货当局。然而遗憾的是,军方并没有采用他的飞机,却与洛克希德公司签订了大批生产XP38战斗机的合同。后来很多人都认为,军方之所以没有采用休斯的飞机,主要是因为洛克希德公司的巴庞克飞机制造厂对右野基地的军方订货者进行了贿赂。
  日本袭击珍珠港美军基地采用了新式的零式战斗机,这种飞机的外形和性能都与H1非常相似;而且,三菱重工设计零式战斗机是在1937年,与休斯的飞机被美利坚合众国陆军航空当局驳回是同一年。因此,一般人都认为三菱重工是盗用了H1飞机的设计。休斯当然更是这样想的,为此,他愤慨不已。
  到1945年太平洋战争结束,日本共生产了1.1万架零式战斗机。与零式战斗机相比,洛克希德公司的XP38无论是轻快度还是长程飞行能力都要差得多。就在休斯一次接一次进行冒险飞行的同时,他的石油钻井机和电影事业仍在为他创造大量的财富。没有人知道他什么时候对美利坚合众国环球航空公司的股份发生兴趣的,
  到1937年前后,休斯已经拥有这家公司87%的股份。环球航空公司是在美利坚合众国排名第三的基于航空公司,拥有先进的道格拉斯DC3型飞机,航线横越美利坚合众国大陆。为了控制整个美洲大陆和全世界的航线,休斯不计前嫌,他看中了洛克希德公司生产的一种星座机,认为这种飞机比道格拉斯、波音机都好,为此,他主动与洛克希德公司改善了关系,并进行合作。
  休斯并没停止他的冒险飞行,为了向环球一周飞行纪录挑战,他选用并改进了洛克希德公司开发的伊列克特拉14型飞机。这是一种可以乘坐12个人的中型飞机,装有两台普拉特·惠特尼引擎。休斯挑选了4名机组人员。1938年7月10日,他们驾驶着改装后的伊列克特拉14型机从布鲁克林的贝内特机场起飞。在他到达机场之前,已有5000名群众和记者到机场来为他送行。在休斯之前,曾有一男一女两位飞行员向环球飞行纪录挑战,但他们都不幸遇难。一个叫威利·波斯特,他起飞不久就在阿拉斯加上空机毁人亡;还有一位叫亚梅莉·艾哈特,是在南太平洋中的一个孤岛上空失踪的。
  上午6点,休斯出现在机场,他头戴茶色呢帽,身穿皱巴巴的带补丁的灰色长裤、白色衬衫,人们对他的这身穿着感到吃惊。休斯因为1939年的万国博览会将在纽约举行,将他的飞机命名为“1939纽约万国博览会号”。博览会负责人为他举行了隆重的出发仪式,纽约市市长到场致词,然后,又举行了记者招待会。当记者请休斯谈谈此刻的感想时,他用颤抖的手从裤袋中掏出一张小纸片,照着读:“首先感谢各位记者朋友们。虽然明知各位一定想问我许多事,但我只能说抱歉。昨晚一整夜,我都在搜集世界各地的天气预报。我所关心的只有天气。”他的声音有点颤抖,透着激动和紧张。
  飞机起飞了,休斯从加拿大的纽芬兰上空跨越北大西洋,他只用了当年林白所用时间的一半,即16小时38分飞过了大西洋。第一站在巴黎着陆。在巴黎稍事休息,他们又起飞了,下一站是莫斯科。在莫斯科机场,休斯受到苏联政府的热烈欢迎。他没有接受主人赠送的珍贵食品,他说:“即使是鱼子酱,恐怕也会使飞机增加一磅重量。”15分钟后,飞机加足了油,立即又起飞了。下一个目标是西伯利亚的鄂木斯克。沿途的每一站,休斯事先都作了安排,包括设置地面无线电站,加油,紧急修理等等。
  经过3天又19小时17分的长途飞行,休斯的飞机终于飞回美利坚合众国,回到出发地布鲁克林的贝内特机场。那里早已聚集了2.5万名群众,他们来欢迎胜利归来的世纪英雄。在纽约市的市政大厅举行的欢迎会上,不修边幅的休斯发表了谦逊而简短的讲话:“这次飞行能顺利完成,完全归功于周到细致的准备和高质量的飞机,绝不是我个人的功劳。美利坚合众国人虽然发明了飞机,但可惜的是,几乎都是外国人创造了所有的飞行纪录。如果这次飞行成功能提高美利坚合众国航空界的国际知名度,那就是我最大的安慰。”
  太平洋战争爆发后,休斯决定用自己环球飞行后开发的D2型远程轰炸机叩开军方订货当局的大门。这种飞机集中了休斯的飞行经验和设计、改造经验于一体,可以乘坐6个人,它速度快,高度高,而且机体曲线优美。为了开发这种飞机,他投资600万美元,自信这次军方一定会对他的飞机刮目相看。可是,当右野基地的军方考察团来到休斯的飞机制造厂时,却遭到工厂警卫的阻拦,因为他们此行是临时决定的,事先并没有通知休斯。为此,考察团十分恼火,他们断然否定了D2型飞机,拒绝订货。在太平洋战区,美军收复瓜达康纳尔岛之后,水上飞机被大大地派上了用场。在多岛屿的南太平洋上,运送兵员、武器、物资的大型运输机起飞和着陆需要有超长跑道的飞机场,建造机场要时间,而运输任务又迫在眉睫。水上飞机的最大优点在于不需要机场。英国首相丘吉尔主张水上飞机最好是两个机身组合起来。休斯认为还是单机身好,他可以造出巨型运输机。休斯设计的这种型号为KH1的巨型水上飞机全长97.5米,高15.2米,两翼安装8个带有螺旋桨的普拉特·惠特尼2800型引擎。自重300多吨,是有史以来世界上最大的飞机,可以说是“巨无霸”。
  军方与他签订了试制3架KH1飞机的合约,预算经费为700万美元。可是这笔钱连造一架飞机的费用都不够,实际上,右野军方根本没把这个计划当一回事,甚至设置重重阻力,使得飞机试制工作一再搁置。休斯不得已,只好自己又投入700万美元,这才勉强够造一架飞机的费用。
  弹指一挥,3年过去了,战争终于结束。KH1的制造虽然基本完成,但对军方来说已经没有什么意义,政府以此为由,单方面取消了试制巨型水上飞机的合约。休斯向政府提出抗议,却没有什么结果。不过他相信,这种飞机是美利坚合众国飞机所能达到的极限,它将成为今后的大型客机和货物运输机的雏形,他坚持要把这架飞机造出来。
  飞机太大了,必须把机体和机翼分别运往长堤海岸,然后在码头上组装。可是,运输却成了大问题,想想看吧,将近100米长的机身,单是一个机翼也有48米长,从飞机制造厂到长堤海岸有45公里,这样的庞然大物,哪家运输公司敢承运?后来,终于有一家公司愿意接下这活,可运费高得吓人,对方提出要8万美元,就当时的物价,这是全美有史以来最高的运费。休斯毫不犹豫地答应了。当时,许多人都怀疑这架巨大的飞机能否飞上天空,而休斯却用事实告诉人们,他们的担心是多余的。1948年4月,休斯亲自驾驶着这架巨无霸在海面上风驰电掣般地冲刺了一段后,稳稳地起飞了。电影摄像机拍下了这个历史性的镜头。美利坚合众国的舆论沸腾了,休斯继环球飞行之后,又一次成了美利坚合众国人心目中的英雄。而在这之前,休斯还造出了XF11型侦察机,这是后来的U—2型侦察机原型。在那次试飞中,休斯险些丧命。当他被人从坠毁的飞机里救出来时,人们以为他肯定活不了了。他的心脏移位,肺腑大量出血,折断8根肋骨,头盖骨和锁骨都骨折,全身严重烧伤。但他不但活下来了,而且仅半年之后,报纸上又刊登出他头缠绷带坐在飞机舱里的照片。
  KH1虽然只飞行过一次,之后就存放在展览馆里,它却代表了人类向飞行极限挑战的梦想,现在,这个梦想已经完全实现了——波音巨型客机和洛克希德的C5银座机都是在它之后问世的。在美利坚合众国乃至全世界,休斯是航空航天领域的先导。1965年,休斯飞机公司开发出85磅重的商业通信卫星,这种卫星具有6000条线路的往返电话功能,以及12种彩色电视的机能,从而开拓了联结欧美大陆的电视电话网络。
  1966年6月,美利坚合众国的无人太空船首次登上月球,引起全世界瞩目。登月是人类梦寐以求的神话,而今成了现实,人们不禁要问:这只太空船的制造者是谁?不是别人,正是休斯飞机制造公司。休斯没有后人,他去世后,休斯飞机公司价值52亿美元的股权全部被通用汽车公司收购。这笔钱归于休斯飞机公司的持股财团——霍华德·休斯医学研究财团,该财团成了世界最大的基金财团。

 单独看<<东京审判>>将并不能令你彻底过瘾---如果你能够有瘾的话.这么华丽的一道主菜如果开宴就上,那么不仅不够刺激,也不够味道.我们需要一道绝美的开胃餐:<<我的1919>>.

字符 含意

做为转意,即通常在""后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/b/,转意为匹配一个单词的边界。 
-或- 
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了""后,/a*/将只匹配"a*"。

^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
? 匹配前面元字符0次或1次,/ba*/将匹配b,ba
(x) 匹配x保存x在名为$1...$9的变量中
x|y 匹配x或y
{n} 精确匹配n次
{n,} 匹配n次以上
{n,m} 匹配n-m次
[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz] 不匹配这个集合中的任何一个字符
[b] 匹配一个退格符
b 匹配一个单词的边界
B 匹配一个单词的非边界
cX 这儿,X是一个控制符,/cM/匹配Ctrl-M
d 匹配一个字数字符,/d/ = /[0-9]/
D 匹配一个非字数字符,/D/ = /[^0-9]/
n 匹配一个换行符
r 匹配一个回车符
s 匹配一个空白字符,包括n,r,f,t,v等
S 匹配一个非空白字符,等于/[^nfrtv]/
t 匹配一个制表符
v 匹配一个重直制表符
w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
W 匹配一个不可以组成单词的字符,如[W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

起因
  1972年6月17日晚上,美国民主党总部的一位工作人员离开水门大厦后,偶然回头看了看 因结束越战有功而连任的尼克松因此事垮台
自己的办公室,他惊异地发现,已经熄了灯的办公室里有几条光柱在晃动。不对呀,同事们都已经走了,谁又进了办公室,不开灯,却打着手电筒到处乱照。他马上回到水门大厦,把疑点告诉了保安人员。保安人员立即搜查了有关的房间,抓到五个戴着医用外科手套、形迹可疑的男子,其中一人名字叫詹姆斯·麦科德,自称是前中央情报局雇员。其实,他是尼克松总统竞选连任委员会负责安全工作的头头,奉命到水门大厦民主党总部安装窃听设备。第二天,《华盛顿邮报》在头版显著位置报道了这一事件。正在佛罗里达州比斯坎岛度假的尼克松总统闻讯后,心里不由咯噔一下:如果民主党抓住水门事件追查下去,他不但连任无望,而且马上就会名声扫地,有可能立即下台。   他哪里还有心情度假,第二天就返回了华盛顿。白宫,总统办公室。已经是深夜了,尼克松还在与几个最亲密的助手们紧急商讨应对措施。经过长时间的讨论,大家都沉默了下来,有的猛抽着雪茄,有的端着咖啡杯却久久不送到嘴边,目光都集中到尼克松身上。尼克松思考再三,终于发话了:“不是有三个古巴人吗,麦科德以前也参与过‘猪湾事件’,那么就把水门事件解释成古巴人为了自己的民族利益而进行的窃听活动。霍尔德曼,你去见一见中央情报局局长,叫他出面,以国家安全为理由,不要让联邦调查局插手。叫那几个被抓的人不要开口,多花一点钱没关系。还有,白宫里的人在大陪审团那里不要再胡言乱语了,这事由迪安负责。”   助手们分头行动,尼克松自己也赤膊上阵,在第一次竞选连任的记者招待会上,信誓旦旦地向美国公众表示:“白宫班子和本届政府中,没有一个现在受雇用的人卷入这一荒唐事件。”他还故作镇水门公寓(3张)定地表示,“令人痛心的不在于发生了这类事,因为在竞选中一些过于热心的人总会做些错事。如果你企图把这类事掩盖起来,那才是令人痛心的。”   一系列的活动,特别是总统的表演,暂时欺骗了公众。大选结果,尼克松以少有的压倒性优势击败了民主党候选人乔治·麦戈文,获得连任。正当尼克松和助手们弹冠相庆、得意忘形的时候,一封又一封匿名信寄到法院,密告水门事件还有隐情。   民主党占优势的国会,决定成立一个特别调查委员会,对总统竞选活动进行彻底调查。果然,1973年3月23日,麦科德在法庭上将白宫法律顾问迪安暴露了出来。尼克松决定弃车保帅[1],让迪安当替罪羊。   迪安可不是任人宰割的角色,他不甘心束手就擒。在得知他的罪行可判四十年徒刑时,他主动向检察官做了三小时的交待和揭露,想将功赎罪,换取赦免。
发展
  为了挽回局面,尼克松再次发表声明,表示事先不知道水门事件,事后也没有任何阻挠调查的行为,并为窃听活动辩护,说这些都是为了国家安全,是合法的、必要的,从罗斯福总统 尼克松的竞选对手乔治·麦戈文
时开始,每一个总统都这么干。他企图再次利用美国人民对他的信任来蒙混过关。   不幸的是,一枚更大的定时炸弹爆炸了。水门事件委员会掌握了一个新的情况:尼克松从1971年年初起,为了记录与手下的谈话和电话内容,下令在白宫办公室里安装窃听系统。委员会要求尼克松交出有关的录音带和文件资料。尼克松以行政特权为理由拒绝交出,并将事情闹到上诉法院。不料,在经过三星期的考虑后,多数法官认为总统也要受法律的约束,必须交出录音带和文件资料。   尼克松恼羞成怒,下令免去调查水门事件的特别检察官考克斯的职务。这一下可捅了马蜂窝,美国各电视网立即中断正常节目,向美国公众报告这一爆炸性新闻。公众的反应就像火山开始喷发,抗议电报像雪片一样铺天盖地,舆论将尼克松与希特勒相提并论。连宗教界和原先支持尼克松的出版物,都愤怒地指责尼克松。血气方刚的大学生则组织了大规模的示威游行。整个美国像开了锅一样,群情激愤。在民意的推动下,众议院决定对总统进行弹劾。 尼克松决心顽抗到底,他一面销毁录音带上对他不利的内容,一面继续强调行政特权,表示“将遵循从华盛顿到约翰逊历届总统所遵循与捍卫的先例,决不做任何削弱美国总统职位的事情”。他交出的电话记录千疮百孔,大量重要的内容被诸如听不见、无情报价值等字眼代替。尼克松的行为进一步激怒了公众,最高法院首席大法官裁决尼克松必须交出有关的录音带。
真相
  新任命的特别检察官在白宫被迫交出的录音带中找到了新证据,有一盘录音带上清楚地记录着水门事件发生后六天,尼克松指示他的助手,让中央情报局阻挠联邦调查局调查水门事件,这是尼克松掩盖事实真相的铁证。整个白宫被惊得目瞪口呆,他们一直相信总统的清白,一直超出自己的职权范围来保护总统,而总统却从一开始就掩盖真相,并欺骗他的顾问、公众、国会甚至自己的家庭达两年之久,每个人都感到被出卖了,就连共和党的一批参议员、众议员也建议他辞职,尼克松终于到了众叛亲离的地步。
事件结果
  1974年8月8日晚上,尼克松不得不向全国发表电视演说,宣布辞去总统职务,成为美国历史上第一位,也是迄今惟一一位因丑闻而中途下台的总统。

<<再生号>>与 <<inception>> 异曲同工...

事实上这两部影片极其相似---至少我是这么认为.可是我的总结归纳能力很差,我没法将我的种种感觉准确无误的表达出来.所以假如你看了这两部片子,并且和我有类似感觉的话,请你一定将它记述下来.

用re = new RegExp("pattern",["flags"]) 的方式比较好 
pattern : 正则表达式 
flags: g (全文查找出现的所有 pattern) 
i (忽略大小写) 
m (多行查找)

vaScript动态正则表达式问题

请问正则表达式可以动态生成吗? 
例如JavaScript中: 
var str = "strTemp"; 
要生成: 
var re = /strTemp/; 
如果是字符连接: 
var re = "/" + str + "/"即可 
但是要生成表达式,可以实现吗?怎样实现?

 
     
     
  1. 两部电影都运用了多层次的故事叙述形式:
    <<再生号>>主人公写的小说当中有小说,多达7层的故事交织在一起
    <<inception>> 梦境也分为若干层

  2. 各个故事层次之间都可实现互相穿越;

  3. 都不是一遍就能够看得懂得,故事都极其耐人寻味,值得多次观赏;

  4. <<再生号>>的整体水平要逊色于<<inception>> ,拍摄技巧,演员表演等都不如<<inception>> ,对多故事线索的掌控能力还不够完美.

  5. <<再生号>>09年上映,早于<<inception>> .如果<<再生号>>是2011年上映,那么肯定有人说<<再生号>>跟风,借鉴了<<inception>>编写的剧本.

梅汝璈在影片开头为了争座次, 以退出法官团作为威胁,两次的交涉,以退为进,他达到了目的,维护了中华民国最基本的尊严:如果中国的排名甚至还不及在亚洲战场除了退却和投降外一无是处的欧罗巴废柴UK,那么随之而来的羞辱将无法估量. 可是仅仅20分钟, 梅汝璈就获得了他的胜利.反观27年前在巴黎和会上奔波努力的顾维钧,为了国家尊严与利益,机关算尽却不敌日本人一纸退出和会的威胁.以退为进,日本人达到了目的.

[JAVA] javascript 正则表达式 
秋雨叶 发表于 2004-12-9 14:54:13

正则表达式是一个描述字符模式的对象。 
JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 

在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp对象, 
也可以用JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号内的字符一样, 
正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript可能会包含如下的代码: 

var pattern = /s$/; 

这行代码创建一个新的RegExp对象,并将它赋给变量parttern.这个特殊的RegExp对象和所有以字母"s"结尾的字符串都匹配.用RegExp()也可以定义 
一个等价的正则表达式,代码如下: 

var pattern = new RegExp("s$"); 

无论是用正则表达式直接量还是用构造函数RegExp(),创建一个RegExp对象都是比较容易的.较为困难的任务是用正则表达式语法来描述字符的模式. 
JavaScript采用的是Perl语言正则表达式语法的一个相当完整的子集. 

正则表达式的模式规范是由一系列字符构成的.大多数字符(包括所有字母数字字符)描述的都是按照字面意思进行匹配的字符.这样说来,正则表达式/java/就和 
所有包含子串 "java" 的字符串相匹配.虽然正则表达式中的其它字符不是按照字面意思进行匹配的,但它们都具有特殊的意义.正则表达式 /s$/ 包含两个字符. 
第一个特殊字符 "s" 是按照字面意思与自身相匹配.第二个字符 "$" 是一个特殊字符,它所匹配的是字符串的结尾.所以正则表达式 /s$/ 匹配的就是以字母 "s" 结尾 
的字符串. 


1.直接量字符 

我们已经发现了,在正则表达式中所有的字母字符和数字都是按照字面意思与自身相匹配的.JavaScript的正则表达式还通过以反斜杠()开头的转义序列支持某些非 

字母字符.例如,序列 "n" 在字符串中匹配的是一个直接量换行符.在正则表达式中,许多标点符号都有特殊的含义.下面是这些字符和它们的含义: 

正则表达式的直接量字符 

字符 匹配 
________________________________ 
字母数字字符 自身 
f 换页符 
n 换行符 
r 回车 
t 制表符 
v 垂直制表符 
/ 一个 / 直接量 
一个 直接量 
. 一个 . 直接量 
* 一个 * 直接量 
+ 一个 + 直接量 
? 一个 ? 直接量 
| 一个 | 直接量 
( 一个 ( 直接量 
) 一个 ) 直接量 
[ 一个 [ 直接量 
] 一个 ] 直接量 
{ 一个 { 直接量 
} 一个 } 直接量 
XXX 由十进制数 XXX 指 定的ASCII码字符 
Xnn 由十六进制数 nn 指定的ASCII码字符 
cX 控制字符^X. 例如, cI等价于 t, cJ等价于 n 

___________________________________________________ 

如果想在正则表达式中使用特殊的标点符号,必须在它们之前加上一个 "" . 


2.字符类 

将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以正则表达式 / [abc] / 和字母 "a" , "b" , "c" 中的任何一个 
都匹配.另外还可以定义否定字符类,这些类匹配的是除那些包含在中括号之内的字符外的所有字符.定义否定字符尖时,要将一个 ^ 符号作为从左中括号算起的第 
一个字符.正则表达式的集合是 / [a-zA-z0-9] / . 

由于某些字符类非常常用,所以JavaScript的正则表达式语法包含一些特殊字符和转义序列来表示这些常用的类.例如, s 匹配的是空格符,制表符和其它空白符, s 
匹配的则是空白符之外的任何字符. 

正则表灰式的字符类 

字符 匹配 
____________________________________________________ 
[...] 位于括号之内的任意字符 
[^...] 不在括号之中的任意字符 
. 除了换行符之外的任意字符,等价于[^n] 
w 任何单字字符, 等价于[a-zA-Z0-9] 
W 任何非单字字符,等价于[^a-zA-Z0-9] 
s 任何空白符,等价于[ t n r f v] 
S 任何非空白符,等价于[^ t n r f v] 
d 任何数字,等价于[0-9] 
D 除了数字之外的任何字符,等价于[^0-9] 
[b] 一个退格直接量(特例) 
________________________________________________________________ 

3.复制 

用以上的正则表式的语法,可以把两位数描述成 / d d /,把四位数描述成 / d d d d /.但我们还没有一种方法可以用来描述具有任意多数位的数字或者是一个 

字符串.这个串由三个字符以及跟随在字母之后的一位数字构成.这些复杂的模式使用的正则表达式语法指定了该表达式中每个元素要重复出现的次数. 

指定复制的字符总是出现在它们所作用的模式后面.由于某种复制类型相当常用.所以有一些特殊的字符专门用于表示它们.例如: +号匹配的就是复制前一模式一次 

或多次的模式.下面的表列出了复制语法.先看一个例子: 

/d{2, 4}/ //匹配2到4间的数字. 

/w{3} d?/ //匹配三个单字字符和一个任意的数字. 

/s+javas+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格. 

/[^"] * / //匹配零个或多个非引号字符. 


正则表达式的复制字符 

字符 含义 
__________________________________________________________________ 
{n, m} 匹配前一项至少n次,但是不能超过m次 
{n, } 匹配前一项n次,或者多次 
{n} 匹配前一项恰好n次 
? 匹配前一项0次或1次,也就是说前一项是可选的. 等价于 {0, 1} 
+ 匹配前一项1次或多次,等价于{1,} 
* 匹配前一项0次或多次.等价于{0,} 
___________________________________________________________________ 


4.选择,分组和引用 

正则表达式的语法还包括指定选择项,对子表达式分组和引用前一子表达式的特殊字符.字符| 用于分隔供选择的字符.例如: /ab|cd|ef/ 匹配的是字符串 "ab",或者是 

字符串 "cd",又或者 "ef". /d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母.在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 

成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如: /java(script) ?/ 匹配的是字符串 "java",其后既可以有 "script",也可以没有. / 

(ab|cd) + |ef) / 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重复. 

在正则表达式中,括号的第二个用途是在完整的模式中定义子模式。当一个正则表达式成功地和目标字符串相匹配时,可以从目标串中抽出和括号中的子模式相匹配 

的部分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / [a-z] + d+/.但是由于假定我们真正关心的是每个匹配 

尾部的数字,那么如果我们将模式的数字部分放在括号中 (/ [a-z] + (d+)/) ,我们就可以从所检索到的任何匹配中抽取数字了,之后我们会对此进行解析的. 

代括号的子表达式的另一个用途是,允许我们在同一正则表达式的后面引用前面的子表达式.这是通过在字符串 后加一位或多位数字来实现的.数字指的是代括号的 

子表达式在正则表达式中的位置.例如: 1 引用的是第一个代括号的子表达式. 3 引用的是第三个代括号的子表达式.注意,由于子表达式可以嵌套在其它子表达式中, 

所以它的位置是被计数的左括号的位置. 
例如:在下面的正则表达式被指定为 2: 
/([Jj]ava([Ss]cript)) sis s (funw*) / 


对正则表达式中前一子表达式的引用所指定的并不是那个子表达式的模式,而是与那个模式相匹配的文本.这样,引用就不只是帮助你输入正则表达式的重复部分的快 

捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字 

符.但是,它要求开始和结束的引号匹配(例如两个都是双引号或者都是单引号): 
/[' "] [^ ' "]*[' "]/ 


如果要求开始和结束的引号匹配,我们可以使用如下的引用: 
/( [' "] ) [^ ' "] * 1/ 


1匹配的是第一个代括号的子表达式所匹配的模式.在这个例子中,它实施了一种规约,那就是开始的引号必须和结束的引号相匹配.注意,如果反斜杠后跟随的数字比 

代括号的子表达式数多,那么它就会被解析为一个十进制的转义序列,而不是一个引用.你可以坚持使用完整的三个字符来表示转义序列,这们就可以避免混淆了.例如, 

使用 44,而不是44.下面是正则表达式的选择、分组和引用字符: 

字符 含义 
____________________________________________________________________ 
| 选择.匹配的要么是该符号左边的子表达式,要么它右边的子表达式 
(...) 分组.将几个项目分为一个单元.这个单元可由 *、+、?和|等符号使用,而且还可以记住和这个组匹配的字符以供此后引 

用使用 
n 和第n个分组所匹配的字符相匹配.分组是括号中的子表达式(可能是嵌套的).分组号是从左到右计数的左括号数 
____________________________________________________________________ 



5.指定匹配的位置 

我们已经看到了,一个正则表达式中的许多元素才能够匹配字符串的一个字符.例如: s 匹配的只是一个空白符.还有一些正则表达式的元素匹配的是字符之间宽度为 

0的空间,而不是实际的字符例如: b 匹配的是一个词语的边界,也就是处于一个/w字字符和一个w非字字符之间的边界.像b 这样的字符并不指定任何一个匹配了的 

字符串中的字符,它们指定的是匹配所发生的合法位置.有时我们称这些元素为正则表达式的锚.因为它们将模式定位在检索字符串中的一个特定位置.最常用的锚元 

素是 ^, 它使模式依赖于字符串的开头,而锚元素$则使模式定位在字符串的末尾. 

例如:要匹配词 "javascript" ,我们可以使用正则表达式 /^ javascript $/. 如果我们想检索 "java" 这个词自身 (不像在 "javascript" 中那样作为前缀),那么我们可以使 

用模式 /s java s /, 它要求在词语java之前和之后都有空格.但是这样作有两个问题.第一: 如果 "java" 出现在一个字符的开头或者是结尾.该模式就不会与之匹配,除 

非在开头和结尾处有一个空格. 第二: 当这个模式找到一个与之匹配的字符时,它返回的匹配的字符串前端和后端都有空格,这并不是我们想要的.因此,我们使用词语 

的边界 b 来代替真正的空格符 s 进行匹配. 结果表达式是 /b java b/. 
下面是正则表达式的锚字符: 


字符 含义 
____________________________________________________________________ 
^ 匹配的是字符的开头,在多行检索中,匹配的是一行的开头 
$ 匹配的是字符的结尾,在多行检索中,匹配的是一行的结尾 
b 匹配的是一个词语的边界.简而言之就是位于字符w 和 w之间的位置(注意:[b]匹配的是退格符) 
B 匹配的是非词语的边界的字符 
_____________________________________________________________________



6.属性 

有关正则表达式的语法还有最后一个元素,那就是正则表达式的属性,它说明的是高级模式匹配的规则.和其它正则表达式语法不同,属性是在 / 符号之外说明的.即它 

们不出现在两个斜杠之间,而是位于第二个斜杠之后.javascript 1.2支持两个属性.属性 i 说明模式匹配应该是大小写不敏感的.属性 g 说明模式匹配应该是全局的.也 

就是说,应该找出被检索的字符串中所有的匹配.这两种属性联合起来就可以执行一个全局的,大小写不敏感的匹配. 

例如: 要执行一个大小不敏感的检索以找到词语 "java" (或者是 "java" 、"JAVA"等) 的第一个具体值,我们可以使用大小不敏感的正则表达式 /b javab/i .如果要在 

一个字符串中找到 "java" 所有的具体值,我们还可以添加属性 g, 即 /b java b/gi . 

以下是正则表达式的属性: 


字符 含义 
_________________________________________ 
i 执行大小写不敏感的匹配 
g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了 
_________________________________________ 

除属性 g 和 i 之外,正则表达式就没有其它像属性一样的特性了.如果将构造函数 RegExp 的静态属性 multiline 设置为 true ,那么模式匹配将以多行的模式进行.在这 

种模式下,锚字符 ^ 和 $ 匹配的不只是检索字符串的开头和结尾,还匹配检索字符串内部的一行的开头和结尾.例如: 模式 /Java$/ 匹配的是 "Java",但是并不匹配 

"Javanis fun" .如果我们设置了 multiline 属性,那么后者也将被匹配: 

RegExp.multiline = true;

在JAVASCRIPT里面判断一个字符串是否是电子邮件的格式: 

if(formname.email.value!=formname.email.value.match(/^w +[@]w +[.][w.] +$/)) 

alert("您的电子邮件格式错误!"); 
formname.email.focus(); 
return false; 
}

阅读全文(42) | 回复(0) | 引用(0) | [用365key收藏此日志]  

PS: Leonardo DiCaprio 近年拍了不少好片,逐渐成熟....通过留胡子来改变那张娃娃脸给人的常规印象..这点和中国的苏有朋倒有几分相似.脸型,发型,发展线路都挺类似

影片结尾,梅汝璈力挽狂澜独木擎天, 终将首恶绞死以谢世人,晓以大义的同时是事实在做后盾.什么事实?中国是战胜国,是被美国总统,英国首相与苏联主席所承认的,能够一起平起平坐的四大强国之一.虽然这"强"字来的总有点虚,可是比起维希法国,却真的不知强了多少倍.再回头看看顾维钧, 代表团人心涣散,无力回天, 顾博士以一人之力做最后一搏,发出的声音与列强来讲却无关痛痒, 唯顾博士一力支撑,以拒签和约维护了中国人最后的一丝尊严.同流血汗然同途殊归,吾今观之,可发一叹.

[RED]function dateVerify(date){ 
var reg = /^(d{4})(-)(d{2})2(d{2})$/; 
var r = date.match(reg); 
if(r==null) return false; 
var d= new Date(r[1], r[3]-1,r[4]); 
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate(); 
date=r[1]+r[2]+((r[3]-1)+1)+r[2]+((r[4]-1)+1); 
return newStr==date; 
}[/RED] 

如果要陈道明来演梅汝璈,我将毫无意见.

 
javascript的17种正则表达式
作者: 不祥  时间: 2004-6-9
"^\d+$"  //非负整数(正整数 + 0) 
"^[0-9]*[1-9][0-9]*$"  //正整数 
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //负整数 
"^-?\d+$"    //整数 
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) 
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 
"^(-?\d+)(\.\d+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url 
JavaScript中的正则表达式(2)
 
 

作者 :中国论坛网收集 来源 :http://www.51one.net 加入时间 :2004-8-25  

正则表达式对象的属性及方法 
   预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式) 
正则表达式对象的属性

属性 含义
$1...$9 如果它(们)存在,是匹配到的子串
$_ 参见input
$* 参见multiline
$& 参见lastMatch
$+ 参见lastParen
$` 参见leftContext
$''          参见rightContext
constructor    创建一个对象的一个特殊的函数原型
global       是否在整个串中匹配(bool型)
ignoreCase     匹配时是否忽略大小写(bool型)
input        被匹配的串
lastIndex     最后一次匹配的索引
lastParen     最后一个括号括起来的子串
leftContext    最近一次匹配以左的子串
multiline     是否进行多行匹配(bool型)
prototype     允许附加属性给对象
rightContext    最近一次匹配以右的子串
source       正则表达式模式
lastIndex     最后一次匹配的索引

正则表达式对象的方法 
方法 含义
compile      正则表达式比较
exec        执行查找
test        进行匹配
toSource      返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。
toString      返回特定对象的串。重载Object.toString方法得到的。
valueOf      返回特定对象的原始值。重载Object.valueOf方法得到
例子 
<script language = "JavaScript"> 
var myReg = /(w+)s(w+)/; 
var str = "John Smith"; 
var newstr = str.replace(myReg, "$2, $1"); 
document.write(newstr); 
</script> 
将输出"Smith, John"

 

 

 

javascript正则表达式检验

责任编辑:fuxing [ 网人帝国 ] 添加时间:2003-11-13 9:13:00 人气:1169 【 大 中 小 】

 

/********************************************************************************* 
* EO_JSLib.js 
* javascript正则表达式检验 
**********************************************************************************/ 

//校验是否全由数字组成 
function isDigit(s) 

var patrn=/^[0-9]{1,20}$/; 
if (!patrn.exec(s)) return false 
return true 

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
function isRegisterUserName(s) 

var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
if (!patrn.exec(s)) return false 
return true 

//校验用户姓名:只能输入1-30个以字母开头的字串 
function isTrueName(s) 

var patrn=/^[a-zA-Z]{1,30}$/; 
if (!patrn.exec(s)) return false 
return true 

//校验密码:只能输入6-20个字母、数字、下划线 
function isPasswd(s) 

var patrn=/^(w){6,20}$/; 
if (!patrn.exec(s)) return false 
return true 

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” 
function isTel(s) 

//var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?(d){1,12})+$/; 
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/; 
if (!patrn.exec(s)) return false 
return true 

//校验手机号码:必须以数字开头,除数字外,可含有“-” 
function isMobil(s) 

var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/; 
if (!patrn.exec(s)) return false 
return true 

//校验邮政编码 
function isPostalCode(s) 

//var patrn=/^[a-zA-Z0-9]{3,12}$/; 
var patrn=/^[a-zA-Z0-9 ]{3,12}$/; 
if (!patrn.exec(s)) return false 
return true 

//校验搜索关键字 
function isSearch(s) 

var patrn=/^[^`~!@#$%^&*()+=|\][]{}:;',.<>/?]{1}[^`~!@$%^&()+=|\][]{}:;',.<>?]{0,19}$/; 
if (!patrn.exec(s)) return false 
return true 

function isIP(s) //by zergling 

var patrn=/^[0-9.]{1,20}$/; 
if (!patrn.exec(s)) return false 
return true 
}

 

 

正则表达式regular expression详述(一) 
2002-12-15 蓝箭工作室

正则表达式是regular expression,看来英文比中文要好理解多了,就是检查表达式符 
不符合规定!!正则表达式有一个功能十分强大而又十分复杂的对象RegExp,在JavaScript1.2 版本以 
上提供。 
下面我们看看有关正则表达式的介绍: 
正则表达式对象用来规范一个规范的表达式(也就是表达式符不符合特定的要求,比如是不是Email 
地址格式等),它具有用来检查给出的字符串是否符合规则的属性和方法。 
除此之外,你用RegExp构造器建立的个别正则表达式对象的属性,就已经预先定义好了正则表达式 
对象的静态属性,你可以随时使用它们。 
核心对象: 
在JavaScript 1.2, NES 3.0以上版本提供。 
在JavaScript 1.3以后版本增加了toSource方法。 
建立方法: 
文字格式或RegExp构造器函数。 
文字建立格式使用以下格式: 
/pattern/flags即/模式/标记

构造器函数方法使用方法如下: 
new RegExp("pattern"[, "flags"])即new RegExp("模式"[,"标记"])

参数: 
pattern(模式) 
表示正则表达式的文本

flags(标记) 
如果指定此项,flags可以是下面值之一: 
g: global match(全定匹配) 
i: ignore case(忽略大小写) 
gi: both global match and ignore case(匹配所有可能的值,也忽略大小写)

注意:文本格式中的参数不要使用引号标记,而构造器函数的参数则要使用引号标记。所以下面的 
表达式建立同样的正则表达式: 
/ab+c/i 
   new RegExp("ab+c", "i")

描述: 
当使用构造函数的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符 )是必须的。 
例如,下面的两条语句是等价的: 
re = new RegExp("\w+") 
re = /w+/

下面的提供了在正则表达式中能够使用的完整对特殊字符的一个完整的列表和描述。

表1.3:正则表达式中的特殊字符:

字符 
意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 
例如:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示 
匹配一个单词的分界线。 
或者: 
对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。 
例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。 
为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配'a*'。

字符^ 
意义:表示匹配的字符必须在最前边。 
例如:/^A/不匹配"an A,"中的'A',但匹配"An A."中最前面的'A'。

字符$ 
意义:与^类似,匹配最末的字符。 
例如:/t$/不匹配"eater"中的't',但匹配"eat"中的't'。

字符* 
意义:匹配*前面的字符0次或n次。 
例如:/bo*/匹配"A ghost booooed"中的'boooo'或"A bird warbled"中的'b',但不匹配"A goat g 
runted"中的任何字符。

字符+ 
意义:匹配+号前面的字符1次或n次。等价于{1,}。 
例如:/a+/匹配"candy"中的'a'和"caaaaaaandy."中的所有'a'。

字符? 
意义:匹配?前面的字符0次或1次。 
例如:/e?le?/匹配"angel"中的'el'和"angle."中的'le'。

字符. 
意义:(小数点)匹配除换行符外的所有单个的字符。 
例如:/.n/匹配"nay, an apple is on the tree"中的'an'和'on',但不匹配'nay'。

字符(x) 
意义:匹配'x'并记录匹配的值。 
例如:/(foo)/匹配和记录"foo bar."中的'foo'。匹配子串能被结果数组中的素[1], ..., [n] 返
回,或被RegExp对象的属性$1, ..., $9返回。

字符x|y 
意义:匹配'x'或者'y'。 
例如:/green|red/匹配"green apple"中的'green'和"red apple."中的'red'。

字符{n} 
意义:这里的n是一个正整数。匹配前面的n个字符。 
例如:/a{2}/不匹配"candy,"中的'a',但匹配"caandy," 中的所有'a'和"caaandy."中前面的两个 
'a'。

字符{n,} 
意义:这里的n是一个正整数。匹配至少n个前面的字符。 
例如:/a{2,}不匹配"candy"中的'a',但匹配"caandy"中的所有'a'和"caaaaaaandy."中的所有'a'

字符{n,m} 
意义:这里的n和m都是正整数。匹配至少n个最多m个前面的字符。 
例如:/a{1,3}/不匹配"cndy"中的任何字符,但匹配 "candy,"中的'a',"caandy," 中的前面两个 
'a'和"caaaaaaandy"中前面的三个'a',注意:即使"caaaaaaandy" 中有很多个'a',但只匹配前面的三 
个'a'即"aaa"。

字符[xyz] 
意义:一字符列表,匹配列出中的任一字符。你可以通过连字符-指出一个字符范围。 
例如:[abcd]跟[a-c]一样。它们匹配"brisket"中的'b'和"ache"中的'c'。

字符[^xyz] 
意义:一字符补集,也就是说,它匹配除了列出的字符外的所有东西。 你可以使用连字符-指出一 
字符范围。 
例如:[^abc]和[^a-c]等价,它们最早匹配"brisket"中的'r'和"chop."中的'h'。

字符[b] 
意义:匹配一个空格(不要与b混淆)

字符b 
意义:匹配一个单词的分界线,比如一个空格(不要与[b]混淆) 
例如:/bnw/匹配"noonday"中的'no',/wyb/匹配"possibly yesterday."中的'ly'。

字符B 
意义:匹配一个单词的非分界线 
例如:/wBn/匹配"noonday"中的'on',/yBw/匹配"possibly yesterday."中的'ye'。

字符cX 
意义:这里的X是一个控制字符。匹配一个字符串的控制字符。 
例如:/cM/匹配一个字符串中的control-M。

字符d 
意义:匹配一个数字,等价于[0-9]。 
例如:/d/或/[0-9]/匹配"B2 is the suite number."中的'2'。

字符D 
意义:匹配任何的非数字,等价于[^0-9]。 
例如:/D/或/[^0-9]/匹配"B2 is the suite number."中的'B'。

字符f 
意义:匹配一个表单符

字符n 
意义:匹配一个换行符

字符r 
意义:匹配一个回车符

字符s 
意义:匹配一个单个white空格符,包括空格,tab,form feed,换行符,等价于[ fnrtv]。 
例如:/sw*/匹配"foo bar."中的' bar'。

字符S 
意义:匹配除white空格符以外的一个单个的字符,等价于[^ fnrtv]。 
例如:/S/w*匹配"foo bar."中的'foo'。

字符t 
意义:匹配一个制表符

字符v 
意义:匹配一个顶头制表符

字符w 
意义:匹配所有的数字和字母以及下划线,等价于[A-Za-z0-9_]。 
例如:/w/匹配"apple,"中的'a',"$5.28,"中的'5'和"3D."中的'3'。

字符W 
意义:匹配除数字、字母外及下划线外的其它字符,等价于[^A-Za-z0-9_]。 
例如:/W/或者/[^$A-Za-z0-9_]/匹配"50%."中的'%'。

字符n 
意义:这里的n是一个正整数。匹配一个正则表达式的最后一个子串的n的值(计数左圆括号)。

例如:/apple(,)sorange1/匹配"apple, orange, cherry, peach."中的'apple, orange',下面 
有一个更加完整的例子。 
注意:如果左圆括号中的数字比n指定的数字还小,则n取下一行的八进制escape作为描述。

字符ooctal和xhex 
意义:这里的ooctal是一个八进制的escape值,而xhex是一个十六进制的escape值,允许在一个 
正则表达式中嵌入ASCII码。

当表达式被检查的时候,文字符号提供了编辑正则表达式的方法。利用文字符号可以使到正则表达 
式保持为常数。例如,如果你在一个循环中使用文字符号来构造一个正则表达式,正则表达式不需进行 
反复编译。 
正则表达式对象构造器,例如,new RegExp("ab+c"),提供正则表达式的运行时编译。当你知道正 
则表达式的模式会变化的时候,应该使用构造函数,或者你不知道正则表达式的模式,而它们是从另外 
的源获得的时候,比如由用户输入时。一旦你定义好了正则表达式,该正则表达式可在任何地方使用, 
并且可以改变,你可以使用编译方法来编译一个新的正则表达式以便重新使用。 
一个分离预先定义的RegExp对象可以在每个窗口中使用;也就是说,每个分离的JavaScript线程运 
行以获得自己的RegExp对象。因为每个脚本在一个线程中是不可中断的,这就确保了不同的脚本不会覆 
盖RegExp对象的值。 
预定义的RegExp对象包含的静态属性:input, multiline, lastMatch,lastParen, leftContext, 
rightContext, 以及从$1到$9。input和multiline属性能被预设。其它静态属性的值是在执行个别正则 
表达式对象的exec和test方法后,且在执行字符串的match和replace方法后设置的。

属性 
注意RegExp对象的几个属性既有长名字又有短名字(象Perl)。这些名字都是指向相同的值。Perl是 
一种编程语言,而JavaScript模仿了它的正则表达式。

属性$1, ..., $9 
取得匹配的子串,如果有的话

属性$_ 
参考input

属性$* 
参考multiline

属性$& 
参考lastMatch

属性$+ 
参考lastParen

属性$` 
参考leftContext

属性$' 
参考rightContext

属性constructor 
指定用来建立对象原型函

属性global 
决定是否测试正则表达式是否不能匹配所有的字符串,或者只是与最先的冲突。

属性ignoreCase 
决定试图匹配字符串的时候是否忽略大小写

属性input 
当正则表达式被匹配的时候,为相反的字符串。

属性lastIndex 
决定下一次匹配从那里开始

属性lastMatch 
最后一个匹配的字符

属性lastParen 
子串匹配的时候,最后一个parenthesized,如果有的话。

属性leftContext 
最近一次匹配前的子串。

属性multiline 
是否在串的多行中搜索。

属性prototype 
允许附加属性到所有的对象

属性rightContext 
最近一次匹配后的的子串。

属性source 
模式文本

 

方法 
compile方法 
编译一个正则表达式对象

exec方法 
运行正则表达式匹配

test方法 
测试正则达式匹配

toSource方法 
返回一个对象的文字描述指定的对象;你可以使用这个值来建立一个新的对象。不考虑Object.toS 
ource方法。

toString方法 
返回一个字符串描述指定的对象,不考虑Object.toString对象。

valueOf方法 
返回指定对角的原始值。不考虑Object.valueOf方法。

 另外,这个对象继承了对象的watch和unwatch方法

   例子: 
   例1、下述示例脚本使用replace方法来转换串中的单词。在替换的文本中,脚本使用全局 RegExp 
对象的$1和$2属性的值。注意,在作为第二个参数传递给replace方法的时候,RegExp对象的$属性的名 
称。 
<SCRIPT LANGUAGE="JavaScript1.2"> 
re = /(w+)s(w+)/; 
str = "John Smith"; 
newstr=str.replace(re,"$2, $1"); 
document.write(newstr) 
</SCRIPT> 
显示结果:"Smith, John".

  例2、下述示例脚本中,RegExp.input由Change事件处理句柄设置。在getInfo函数中,exec 方法 
使用RegExp.input的值作为它的参数,注意RegExp预置了$属性。

<SCRIPT LANGUAGE="JavaScript1.2"> 
function getInfo(abc) 

re = /(w+)s(d+)/; 
re.exec(abc.value); 
window.alert(RegExp.$1 + ", your age is " + RegExp.$2); 

</SCRIPT>

  请输入你的姓和年龄,输入完后按回车键。 
   <FORM><INPUT TYPE="TEXT" NAME="NameAge" onChange="getInfo(this);"></FORM> 
   </HTML>

$1, ..., $9属性 
用圆括号括着的匹配子串,如果有的话。 
是RegExp的属性 
静态,只读

在JavaScript 1.2, NES 3.0以上版本提供 
描述:因为input是静态属性,不是个别正则表达式对象的属性。你可以使用RegExp.input 访问该 
属性。

能加上圆括号的子串的数量不受限制,但正则表达式对象只能保留最后9 条。如果你要访问所有的 
圆括号内的匹配字串,你可以使用返回的数组。

这些属性能用在RegExp.replace方法替换后的字符串(输出结果)。当使用这种方式的时候,不用预 
先考虑RegExp对象。下面给出例子。当正则表达式中没有包含圆括号的时候,该脚本解释成$n的字面意 
义。(这里的n是一个正整数)。

例如: 
下例脚本使用replace 方法来交换串中单词的位置。在替换后的文本字串中,脚本使用正则表达式 
RegExp对象的$1和$2属性的值。注意:当它们向replace方法传递参数的时候,这里没有考虑 $ 属性的 
RegExp对象的名称。 
<SCRIPT LANGUAGE="JavaScript1.2"> 
re = /(w+)s(w+)/; 
str = "John Smith"; 
newstr=str.replace(re,"$2, $1"); 
document.write(newstr) 
</SCRIPT> 
显示的输出结果为:Smith, John。 

 

正则表达式regular expression详述(二) 
2002-12-15 蓝箭工作室

正则表达式详述(二)

以下这些不是正则表达式的新增对象请参阅对应的JavaScript对象的属性 $_属性 参考input $*属性 
参考multiline $&属性 参考lastMatch $+属性 参考lastParen $`属性 
参考leftContext $'属性 参考rightContext compile方法 在脚本运行期间编译正则表达式对象 
属于RegExp的方法 在JavaScript 1.2, NES 3.0以上版本提供 语法: 
regexp.compile(pattern[, flags]) 以数: regexp 正则表达式的名称,可以是变量名或文字串。 
pattern 正则表达式的定义文本。 flags 如果指定的话,可以是下面其中的一个: "g": 匹配所有可能的字串 
"i": 忽略大小写 "gi": 匹配所有可能的字串及忽略大小写 描述: 
使用compile方法来编译一个正则表达式 created with the RegExp constructor function。这样 
就强制正则表达式只编译一次,而不是每次遇到正则表达式的时候都编译一次。当你确认正则表达式能 
保持不变的时候可使用compile 方法来编译它(在获得它的匹配模式后),这样就可以在脚本中重复多次使用它。 
你亦可以使用compile 方法来改变在运行期间改变正则表达式。例如,假如正则表达式发生变化, 
你可以使用compile方法来重新编译该对象来提高使用效率。 
使用该方法将改变正则表达式的source, global和ignoreCasesource属性的值。 constructor 
指出建立对象原型的function。注意这个属性的值由函数本身提供,而不是一个字串包含RegExp的name.Property提供。 
在JavaScript 1.1, NES 2.0以上版本提供 ECMA版本ECMA-262 描述:参考Object.constructor. 
exec方法 在指定的字符串运行匹配搜索。返回一个结果数组。 是RegExp的方法 
在JavaScript 1.2, NES 3.0以上版本提供 语法: regexp.exec([str])regexp([str]) 
参数: regexp,正则表达式的名称,可以是一个变量名或文字定义串。 
str,要匹配正则表达式的字符串,如果省略,将使用RegExp.input的值。 
描述:就如在语法描述中的一样,正则表达工的exec方法能够被直接调用(使用regexp.exec(str))或者间接调用(使用regexp(str))。 
假如你只是运行以找出是否匹配,可以使用String搜索方法。 
假如匹配成功,exec方法返回一个数组并且更新正则表达式对象属性的值和预先定义的正则表达式对象、RegExp。如果匹配失败,exec方法返回null。 
请看下例: <SCRIPT LANGUAGE="JavaScript1.2"> //匹配一个b接着一个或多个d,再接着一个b 
//忽略大小写 myRe=/d(b+)(d)/ig; myArray = myRe.exec("cdbBdbsbz"); 
</SCRIPT> 下面是该脚本的返回值:对象 属性/Index 描述 例子 
myArray

myArray的内容 ["dbBd", "bB", "d"] 
index 
基于0的匹配index 1 
input 
原始字符串 cdbBdbsbz 
[0] 
最后匹配的字符 dbBd 
[1], ...[n] 
用圆括号括住的匹配字符串,如果有的话。不限制括号的个数。 [1] = bB 
[2] = d 
myRe 
lastIndex 
开始下次匹配操作的index值 5 
ignoreCase 
指出"i"是否使用以忽略大小写 true 
global 
指出是否使用"g"标记来进行匹配所有可能的字串 true 
source 
定义模式的文本字符串 d(b+)(d) 
RegExp 
lastMatch$& 
最后匹配的字符 dbBd 
leftContext$Q 
最新匹配前面的子串 c 
rightContext$' 
最新匹配后面的子串 bsbz 
$1, ...$9 
圆括号内的匹配子串,如果有的话。圆括号的个数不受限制,但RegExp只能保留最后9个 $1 = bB 
$2 = d 
lastParen $+ 
最后一个加上圆括号的匹配子串,如果有的话 d

假如你的正则表达式使用了"g"标记,你可以多次使用exec 方法来连续匹配相同的串。当你这样做 
的时候,新的匹配将从由正则表达式的lastIndex 属性值确定的子串中开始。例如,假定你使用下面的脚本: 
<SCRIPT LANGUAGE="JavaScript1.2"> myRe=/ab*/g;str = "abbcdefabh" 
myArray = myRe.exec(str); 
document.writeln("Found "+myArray[0]+". Next match starts at "+myRe.lastIndex) 
mySecondArray = myRe.exec(str); 
document.writeln("Found "+mySecondArray[0]+". Next match starts at "+myRe.lastIndex) 
</SCRIPT> 这个脚本显示如下结果: Found abb. Next match starts at 3 
Found ab. Next match starts at 9 例子: 
在下面的例子中,用户输入一个名字,脚本根据输入执行匹配操作。接着检查数组看是否和其它用户的名字匹配。 
本脚本假定已注册的用户的姓已经存进了数组A中,或许从一个数据库中取得。 <HTML> 
<SCRIPT LANGUAGE="JavaScript1.2"> A = ["zhao","qian","sun","li","liang"] 
function lookup() { firstName = /w+/i(); if (!firstName) 
window.alert (RegExp.input + "非法输入"); else { count=0; 
for (i=0;i 输入你的姓然后按回车键。 
<FORM><INPUT TYPE:"TEXT" NAME="FirstName" onChange="lookup(this);"></FORM> 
</HTML> global属性 正则表达式中是否使用了"g"标记。 RegExp属性,只读 
在JavaScript 1.2, NES 3.0以上版本提供 描述: global是一个个别正则表达式对象的属性 
如果使用了"g"标记,global的值为true;否则为 false。"g"标记指定正则表达式测试所有可能的匹配。 
你不能直接改变该属性的值,但可以调用compile方法来改变它。 ignoreCase 检查正则表达式是否使用了"i"标记 
RegExp属性,只读 在JavaScript 1.2, NES 3.0以上版本提供 描述: 
ignoreCase是个别正则表达式对象的一个属性。 
如果使用了"i"标记,则返回true,否则返回false。"i"标记指示在进行匹配的时候忽略大小写。
你不能直接改变该属性的值,但可以通过调用compile方法来改变它 input 指出正则表达式要测试那个字串。$_是这个属性的另一个名字。 
RegExp的属性,静态 在JavaScript 1.2, NES 3.0以上版本提供 
描述:因为input是静态的,不是某个个别的正则表达式对象的属性。你也可以使用 RegExp.input来表示。 
如果没有给正则表达式的exec或test方法提供字符串,并且RegExp.input中有值,则使用它的值来调用该方法。 
脚本或浏览器能够预置input属性。如果被预置了值且调用exec或 test方法的时候没有提供字符串 
则调用exec或test的时候使用input的值。input可以被浏览器以下面的方式设置: 
当text表单域处理句柄被调用的时候,input被设置为该text输入的字串。 
当textarea表单域处理句柄被调用的时候,input被设置为textarea域内输入的字串。注意multili 
ne亦被设置成true从而能匹配多行文本。 当select表单域处理句柄被调用的时候,input被设置成selected text的值。 
当链接对象的处理句柄被调用的时候,input被设置成<A HREF=...>和</A>之间的字符串。 
事件理现句柄处理完毕后,input属性的值被清除。 lastIndex 可读/可写的一个整数属性,指出下一次匹配从哪里开始。 
RegExp的属性 在JavaScript 1.2, NES 3.0以上版本提供 
描述:lastIndex 是个别的正则表达式对象的属性。 这个属性只有当正则表达式的"g"标记被使用以进行全串匹配的时候才被设置。实行以下规则: 
如果lastIndex大小字符串的长度,regexp.test和regexp.exec失败,且lastIndex被设为0。 
如果lastIndex等于字串的长度且正则表达式匹配空字符串,则正则表达式从lastIndex的位置开始匹配。 
如果lastIndex等于字符串的长度且正则表达式不匹配空字符串,则正则表达式不匹配input,且lastIndex被置为0。 
否则,lastIndex被设置成最近一次匹配的下一点。 例如,按下面的顺序执行脚本: re = /(hi)?/g 匹配空字符串 
re("hi") 返回["hi", "hi"],lastIndex置为2 
re("hi") 返回[""],一个空数组,它的下标为0的元素就是匹配字符串。在这种情况下,返回空
串是因为lastIndex等于2(且仍然是2),并且"hi"的长度也是2。 lastMatch 最后一次匹配字符串,$&是同样的意思。 
RegExp的属性,静态,只读 在JavaScript 1.2, NES 3.0以上版本提供 
描述:因为lastMatch是静态的,所以它不是个别指定正则表达式的属性。你也可以使用RegExp.lastMatch。 lastParen 
最后一次加上括号的匹配字符串,如果有的话。$+是同样的意思。 RegExp属性,静态,只读
在JavaScript 1.2, NES 3.0以上版本提供 
描述:因为lastParen是静态的,它不是某个个别正则式的属性,你可以使用RegExp.lastParen 表达同样的意思。 
leftContext 最近一次匹配前面的子串,$`具有相同的意思。 RegExp的属性,静态,只读 
在JavaScript 1.2, NES 3.0以上版本提供 
描述:因为leftContext是静态的,不是某一个正则表达式的属性,所以可以使用RegExp.leftContext来表达想同的意思。 
multiline 反映是否匹配多行文本,$*是相同的意思。 RegExp的属性,静态 
在JavaScript 1.2, NES 3.0以上版本提供 
描述:因为multiline是静态的,而不是某个个别正则表达式的属性,所以能够用RegExp.multiline表达相同的意思。 
如果允许匹配多行文本,则multiline为true,如果搜索必须在换行时停止,则为false。 
脚本或浏览器能够设置multiline属性。当一个textarea的事件处理句柄被调用的时候,multiline 
被置为true。在事件处理句柄处理完毕后,multiline属性值被清除。也就是说,如果你设置了multili 
ne为true,则执行任何的事件处理句柄后,multiline被置为false。 prototype 
描绘类的原型。你可以根据要求使用prototype来增加类的属性或方法。为了获得prototypes 的资 
料,请参阅RegExp的Function.prototype.Property属性。 从JavaScript 1.1, NES 2.0版本开始提供 
ECMA版本ECMA-262 rightContext 最后一次匹配的右边的字符串,$'是同样的效果。 
RegExp的属性,静态,只读 从 JavaScript 1.2, NES 3.0以上版本开始提供 
描述:因为rightContext是静态的,不是某个个别正则表达工的属性,可以使用RegExp.rightContext来达到相同的效果。 
source 一个只读


本文由澳门十大赌场排名发布于澳门十大赌场排名,转载请注明出处:JS 正则表明式&lt;转&gt;

关键词:

上一篇:究竟为什么这么火
下一篇:没有了