国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

一個關于正則表達式的問題

2020-03-16 21:22:27
字體:
來源:轉載
供稿:網友
再補一個問題 
(.+)、(.)+、.+不是一樣的嗎? 
  1. <script language = "JavaScript">  
  2. var Pattern1=/<.+>/i;  
  3. var Pattern2=/<(.+)>/i;  
  4. var Pattern3=/<(.)+>/i;  
  5.  
  6. alert(Pattern1.exec("<p align=center onclick=dsa>"))  
  7. alert(Pattern2.exec("<p align=center onclick=dsa>"))  
  8. alert(Pattern3.exec("<p align=center onclick=dsa>"))  
  9. </script> 

為什么上面代碼運行結果都不一樣 
有的結果還用逗號分開  是怎么回事呢
復制代碼代碼如下:
exec()返回的是匹配到符合模式的內容的數(shù)組(由整體和按順選排列的子片斷組成),用alert顯示時會顯示數(shù)組toSting()的結果(就是用逗號隔開的字符串)。 
在正則表達式中 . (點)表示除換行符以外的任意字符(在加上m參數(shù)打開多行匹配模式時表示任意字符),用轉義符號/.表示點這個字符本體。

復制代碼代碼如下:
var Pattern3=/<(.)+>/i;  
alert(Pattern3.exec("<p align=center onclick=dsa>")[1])  
為什么得到的是a而不是p?

試試alert(Pattern3.exec("<p align=center onclick=dsa6>")[1])將得到6 
(.)+一路匹配過來,返回的是最后匹中的結果。 

+(加號)表示+前面的模式(或模式片斷)當有至少一個、可有多個。 

出現(xiàn)在正則表達式中的()所包圍的的內容被視為模式中的子片斷,會在exec()中體現(xiàn)出來。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 赤水市| 阜平县| 渭源县| 新田县| 龙口市| 丰台区| 英德市| 公主岭市| 灵寿县| 吉安县| 新宁县| 西乡县| 雷州市| 大埔县| 石河子市| 牙克石市| 正蓝旗| 容城县| 金溪县| 阜新| 邵阳市| 成安县| 新沂市| 双牌县| 名山县| 聂拉木县| 汶川县| 拉孜县| 阳城县| 洮南市| 三江| 浪卡子县| 浦城县| 九江市| 中阳县| 江孜县| 安康市| 渝中区| 汉源县| 禹城市| 葫芦岛市|