JavaScript 正規表示式
正規表示式(英文:Regular Expression,在程式碼中常簡寫為regex、regexp或RE)使用單一字串來描述、符合一系列符合某個句法規則的字串搜尋模式。
搜尋模式可用於文字搜尋和文字取代。
什麼是正規表示式?
正規表示式是由一個字元序列所形成的搜尋模式。
當你在文字中搜尋資料時,你可以用搜尋模式來描述你要查詢的內容。
正規表示式可以是一個簡單的字符,或是更複雜的模式。
正規表示式可用於所有文字搜尋和文字取代的操作。
例:var caps = new RegExp("[A-Z]", "g");
例:var caps = /[A-Z]/g;
字元 | ##描述範例 | |
---|---|---|
#對於中括號([])包裹的字元序列,正規表示式處理程序會 | 匹配中括號內的任一個字元。 | [exp]符合e,x,p中的任一個字元|
在中括號內前方加上^字符,將 | 匹配中括號外的任一符號,除去的意思。 | [^exp]符合e、x、p以外的任一個字元|
使用-連字元表示匹配 | exp1字元到exp2字元序列中的任一個字元。 | [A-Z]符合A-Z任一字元;[0-9]符合0-9任一個數字|
對於小括號包裹的字元序列,正規表示式會以該字元順序 | 確切進行比對(包含就能符合)。 | (exp)符合"exp"這個字串|
exp2) | 使用管道字元\ | |
表達式後使用+字符,表示只有當該表達式 | 被包含一次或多次時匹配。 | exp+符合exp|
符合空白字符,即空格,tab製表符,回車符 | A\sB匹配字串中含A空白符B | |
#匹配除了空白字元意外的任一個字元 | A\SB匹配A不是空白符任意字元B | |
符合從0-9的一個數字 | ||
符合除了數字以為的任一字元 | ||
#匹配一個文字字符,即一個字,數字或字母 | ||
匹配除了文字字元意外的任何一個字元 |
描述 | ||
---|---|---|
應用正規則表達式在比較字串中找出所有匹配的項,而不是只返回第一個匹配項 | ||
應用表達式進行比較匹配的同時,忽略大小寫 | ||
應用程式對多行的文字進行比較匹配,而不只是比較第一行 |
字符序列 | 含义 | 例子 |
---|---|---|
$$ | 把找到的字符串用一个单独的$字符代替 | "Hello World".replace(/o/g, "\$\$");//"Hell\$ W\$rld" |
$& | 使用第一个参数中所给定的字符串来替换所找到的子字符串 | "Hello World".replace(/o/g, "$&");//"Hello World" |
$`(ESC下面那个`) | 使用所找到的字符串之前的文本来替换该子字符串 | "Hello World".replace(/o/g, "$`");//"HellHell WHello Wrld" |
$' | 使用所找到的字符串之后的文本来替换该子字符串 | "Hello World".replace(/o/g, "$'");//"Hell World Wrldrld" |
\$1, \$2 | 当第一个参数中包含的正则表达式使用小括号对进行表达式分组,则可以提取出特定的表达式所匹配的子字符串(\$1对应第一个小括号,\$2对应第二个小括号) | "Hello World".replace(/(o)(r)/g, "\$1\$2\$1\$2");//"Hello Wororldd"(查找到or,然后替换成oror |
还有一种就是replace() 的第二个参数可以用函数方式传入,然后用函数的返回值来替换原子字符串。
var count = 0; function replaceWithCount() { count = count + 1; return count; } alert("Hello World".replace(/o/g, replaceWithCount)); //Hell1 W2rld alert("Hello World".replace(/\s/g, replaceWithCount)); //Hello3World
这只是我写的作为笔记的正则表达式一些简单的判断和javascript用法。正则表达式还可以很复杂很强大,那就要再你要使用的时候再去挖掘思考了。如果想了解更多,可以学习Mozilla开发者网络上的关于javascript中使用正则表达式的指引介绍。写得更加详细。
以上是javascript正規表示式的定義與介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!