1樓:末日長天
var a='
';while (/(file\:\/\/\/[^\/]*)\/(.*\")/.test(a))
a = a.replace(/(file\:\/\/\/[^\/]*)\/(.*\")/, "$1\\$2");
這樣可以替換file:///開頭,以"結尾的字串中的所有/符號了,由於要匹配file:///開頭,以"結尾, 正則中必須在開始加上file\:
\/\/\/ 結尾加上\".而加上了這,replace方法的時候就算正則加上g,也是隻替換一次了.所以加個while迴圈.
就可以全部替換了.不過正則還不能定義為變數.定義了變數,下面用變數的話,還是隻替換一次,這我也不清楚是為什麼了,可能跟js中正規表示式物件的某些屬性有關吧.
不太懂js,就學了四天...
這種情況最好把中間這串拿出來 替換好再放回去 如下
var a='
';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:///");就好了,不過感覺比第一種麻煩了.用第一種的那個就好了
2樓:
以某個字串開始 是用正則的 ^
以某個字串結束 是用正則的 $
中間的所以字元 可以用 .*
. 表示任意字元
* 表示0次到多次匹配
舉例:var a = 'adsdfsefsdfsgsrgdsgasdfsadfe';
/^a.*e$/.test(a) //返回true;
3樓:匿名使用者
提問者你的程式設計思想缺泛靈活性,我的回答已經很明確了。如果這樣的回答你不能明白理解證明你不適合做開發。
var a='
';//註釋這段就不就可以了嗎a=a.replace(/file\:\/\/\//gi,"")
//去file:///
a.replace(/([\:\w])\/(\w)/gi,"$1\\$2")
js如何用正規表示式 獲取字串內的匹配部份?
4樓:匿名使用者
src = r[1];
5樓:多幹活以效果
var reg = /scr="(.+)" /;
src = reg.exec(st)[1];
6樓:匿名使用者
(?<=src=")[^"]*(?=")
js中可能"要變成\"
(?<=src=\")[^\"]*(?=\")
js中如何刪除某個指定字元(前)後的字串
7樓:匿名使用者
var s = "123456789+abc";
alert(s.substring(0, s.indexof('+')));
alert(s.substring(s.indexof('+') + 1, s.length));
8樓:落月
var str;
var ipos;
str="123456789+abc";
ipos = str.indexof("+");
str1=str.substring(0,ipos); //取前部分str2=str.substring(ipos,str.length);//取後
專部屬分
正則校驗手機號c,正則校驗手機號 c
定復 public static void main 13 d 15 d console.writeline 輸入號碼 string temp console.readline if system.text.regularexpressions.regex.ismatch temp,pattern ...
驗證時間正規表示式,js 寫 驗證日期正規表示式
能夠1 被4整除。2 被100整除,同時被400整除。1900不是,2000是。3 被3200整除,同時被172800整除。3200和6400不是,172800是。注意1 由於地球公轉速率的不穩定與眾多影響因素,很多年以後 公元4000 屆時此規則是否需要修改仍有疑問。故後面的正規表示式可能從公元4...
正則中的a z是什麼意思,正規表示式 a zA Z 1,20 是什麼意思?
答題的人 是搞笑的吧 正規表示式 a za z 1,20 是什麼意思? 後廠村 var reg a za z 正規表示式,必須是大小寫的字母1至20個 if reg.test temp 如果temp不匹配是1至20個大小寫字母的話彈出警告 哇,匹配漢字哇,相當麻煩滴哇 常山趙子龍 匹配1到20個字母...