當前位置:編程學習大全網 - 編程軟體 - javascript js正則如何匹配以某字符串開始以某字符串結束的字符串中的字符?

javascript js正則如何匹配以某字符串開始以某字符串結束的字符串中的字符?

var?a='<div><a><img?src="file:///c:/ssd/ads.jpg"></a></div>';

while?(/(file\:\/\/\/[^\/]*)\/(.*\")/.test(a))?

a?=?a.replace(/(file\:\/\/\/[^\/]*)\/(.*\")/,?"$1\\$2");

這樣可以替換file:///開頭,以"結尾的字符串中的所有/符號了,由於要匹配file:///開頭,以"結尾,?正則中必須在開始加上file\:\/\/\/?結尾加上\".而加上了這,replace方法的時候就算正則加上g,也是只替換壹次了.所以加個WHILE循環.就可以全部替換了.不過正則還不能定義為變量.定義了變量,下面用變量的話,還是只替換壹次,這我也不清楚是為什麽了,可能跟Js中正則表達式對象的某些屬性有關吧.

不太懂Js,就學了四天...

這種情況最好把中間這串拿出來?替換好再放回去?如下

var?a='<div><a><img?src="file:///c:/ssd/ads.jpg"></a></div>';

var?re?=?/file\:\/\/\/.*\"/;?

var?b?=?re.exec(a)[0];//拿到整個字符串中以file:///開頭,以"結尾的字符串

b?=?b.replace(/\//g,?"\\");?//把拿到的字符串中的/全部替換成\

b?=?b.replace(/file\:\\\\\\/,?"file:///");

a?=?a.replace(re,?b);?

第壹種的那個沒問題的.第二個仔細看了下,是我大意了,加上壹句?b?=?b.replace(/file\:\\\\\\/,?"file:///");就好了,不過感覺比第壹種麻煩了.用第壹種的那個就好了

  • 上一篇:幼兒園小班教案科學我是壹只小小狗
  • 下一篇:CAD2007倒角1× 45怎麽標註?
  • copyright 2024編程學習大全網