2013-03-27 213 views
22

關於/在JavaScript正則表達式中的含義,我找不到任何明確的信息。JavaScript正則表達式中的正斜槓是什麼意思?

代碼replace(/\r/g, '');

什麼我能搞清楚的是:

  • / =我不知道
  • \r =回車
  • /g =我不但是這可能意味着'比賽必須發生在前一場比賽結束的時候。'
+1

您應該先閱讀手冊:https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions。 – VisioN 2013-03-27 14:56:16

+0

閱讀:http://www.regular-expressions.info/ - 你會很高興你做了.. :-) – techfoobar 2013-03-27 14:58:10

+0

@techfoobar regular-expressions.info不再在線:/ – piperchester 2016-01-13 18:21:34

回答

24

斜槓表示正則表達式的開始和結束。

g最後是一個標記,表示它是全局搜索。

docs

正則表達式有四個可選的標誌,使全球和 不區分大小寫的搜索。要指示全局搜索,請使用g 標誌。要指示不區分大小寫的搜索,請使用i標誌。以 表示多行搜索,使用m標誌。要執行「粘性」 搜索,該搜索匹配從目標 字符串中的當前位置開始,使用y標誌。這些標誌可以以任何順序單獨使用或一起使用,並作爲正則表達式的一部分包含在內。

以包括與正則表達式的標誌,使用此語法:

var re = /pattern/flags; 
+0

「結束」很難閱讀。 – Flox 2017-05-10 13:10:31

5

here所示,正斜槓不是表達式本身的一部分,而是表示表達式的開始和結束。

+7

[W3Fools](http://w3fools.com/) – VisioN 2013-03-27 15:00:20

+0

@VisioN - 沒有意識到這一點,感謝指出它! – metadept 2013-03-27 16:19:29

+0

未來,如果鏈接的內容不再可用,在您的答案中加入一小段摘錄可能會有所幫助。 – 2017-09-18 13:48:41

8

正如其他人指出的,你應該閱讀文檔!這就是說:

把正斜槓的引號看作正則表達式。斜槓包含表達式,但它們本身不是表達式的一部分。 (如果你想測試一個正斜槓,你必須用一個反斜槓來轉義它。)小寫的g表明這是一個全局搜索,即找到所有匹配,而不是在第一次匹配時停止。

3

要添加更多細節,/字符是JavaScript/ECMAScript中正則表達式literal語法的一部分。在lexical analysis期間使用/字符來確定它們之間存在正則表達式模式,緊隨它們的任何東西都將是正則表達式標誌。該ECMAScript standardEBNF定義了這個,你perusual:

RegularExpressionLiteral ::/RegularExpressionBody/ RegularExpressionFlags

正則表達式中一個很好的比喻爲/是圍繞字符串文字的"'在JavaScript中。

相關問題