❶ JS正則表達式中有哪些特殊字元,這些特殊字
|這些符號有:^ $ . * + - ? = ! : | \ / ( ) [ ] { }
1.「[ ]」表示字元類: 即括弧里是個字元集:如/[abc]/,表示和含有a,b,c任何一個字母的字元串都匹配。
註:特殊字元類:
\s表示空格符、製表符、Unicode空白符。\S表示非空格空白符。 (也可自定義Unicode字元類:
如:/[\u4E00-\u9FA5]/表示只匹配中文字元。)
\w 任何單字字元,相當於[a-zA-X0-9_];\W與\w相反。
\d 任何數字,相當於[0-9];\D與 \d相反。
\b在字元類中使用表示退格符,[\b]則表示退格直接量;\b可以用來指定匹配位置,即匹配到達單詞邊界,稱為錨;
如:查找一個句子里的單詞 java , 可以使用/\bjava\b/;\B與\b相反。
2.「-"表示連字元,如[a-z];
3."."表示除換行符;表示匹配除「\r\n」之外的任意單個字元。若要匹配包括「\r\n」在內的任何字元,請使用像「[\w\W|\d\D|\s\S|]」的模式。
4."^"具有兩重含義:開始標記和非,如:/^a/表示以a開始的字元;當在[]中時:/[^a]/表示非a的所有字元。
5."$"表示字元結尾。如:/^abc$/表示以c結束的字元。
6.」{}"表示重復上一項。如/\d{2,4}/表示數字出現至少2次,最多4次。如/3{2,4}/匹配33...;333....;3333.....;不匹配3和4個3相連以上的了。它的三種格式如下{n,m}表示至少3次,最多m次;{n,}至少n次;{n}恰好n次。
7."?"表示{0,1}。
8."+"表示{1,}。
9."*"表示{0,}。
註:非貪婪的重復(如??,+?,*?,{1,5}?只匹配第一個。)
10."|"表示分割,即或的含義。如:/ab|cd|ef/匹配含有ab或cd或ef的字元串。
11."()"包含三重用途:一是定義子表達式。二是在完整的模式中定義子模式。三是子表達式的引用。
子模式的定義可以從目標串中抽取和括弧中的子模式相匹配的部分。
子模式的表達式的引用是指:可識別子模式的編號,提取它。如/(abc)\sis\s(string\w*)/;裡面含有兩個字表達式:可通過
\1指(abc);\2指(string\w*); 應用如:/['"][^'"]*['"]/不能取前後同樣的引號,可以這樣寫:/[('")[^'"]*\1]/,可起到約束作用。
註:若想()里的不想被記憶,可採用(?:.....),將不會對其編號。
還有(?=p),(?!p)如下:
如/(javascript)?(?=\:)/ 表示匹配javascript:,但不包含:;它不匹配javascript,因為他有個條件就是後要接:;
(?!p)反前向聲明,要求接下來的字元不與模式p匹配,與(?=p)相反。
❷ JS里的++、--、+=、*=分別表示什麼啊,還有這類的符號嗎,可以詳細一點嗎謝謝
++和--這是算數運算符襲。
比如 x=5 ,y=++x,y=6
比如 x=5 ,y=--x,y=4
+=是賦值運算符。
比如 x+=y,相當於x=x+y
*= 比如 x*=y,相當於x=x*y
類似的符號:還有
1、除法 (/)
除法運算符的結果是操作數的商 ,左操作數是被除數,右操作數是除數。
2、求余 (%)
求余運算符返回第一個操作數對第二個操作數的模,即var1對var2取模,其中var1和var2是變數。取模功能就是var1除以var2的整型余數。
3、冪 (**)
冪運算符返回第一個操作數做底數,第二個操作數做指數的乘方。即,var1var2,其中var1和var2是其兩個操作數。冪運算符是右結合的。
4、一元負號 (-)
一元負號運算符位於操作數前面,並轉換操作數的符號。
注意:條件運算符是C語言中惟一一個三目(三元)運算符