2010-11-11 72 views
2

的,我想了解這行JavaScript代碼是指...解釋這段JavaScript

(/^\w+, ?\w+, ?\w\.?$/) 

我明白了「w表示‘字’,但需要你的幫助理解'/', '^', '+', '?', '.?$/'

謝謝..

+1

在什麼情況下HTML會執行正則表達式? – 2010-11-11 13:59:05

+0

**如果**是HTML,則表示字符串爲'(/^\ w +,?\ w +,?\ w \。?$ /)'。 HTML是標記,但與代碼相反;很可能你正在看Javascript。 – 2010-11-11 14:18:56

+0

@Andrzej有了這麼多的聲譽,你可以幫助我們把這個問題變成一個更好的問題。我的手綁在一起。 – pestaa 2010-11-11 14:41:27

回答

2

這是一個regular expression,而不是HTML。

它在Javascript中的正則表達式文字(/.../)中。

  • ^的字符串的開頭
  • \w匹配任何文字字符
  • +匹配一個或多個前一組的匹配。
  • ?匹配零個或前一組中的一個(在此情況下,單個空間)
  • \.匹配的.。 (非轉義的.匹配任何單個字符)
  • $匹配字符串的結尾。
+0

請注意,對於「單詞」字符使用'\ w'將會(在很多情況下)意味着任何一個字符,** **具有Letter屬性**或**, Decimal Number屬性,**或**,即LOW LINE(即下劃線)字符。另外,'^'和'$'有時可以匹配行邊界,而不僅僅是字符串邊界。 – tchrist 2010-11-11 14:34:04

1

這是不是HTML代碼,但正則表達式。瞭解更多關於它:


在計算中,正則表達式, 也被稱爲正則表達式或正則表達式, 提供一個簡明的和靈活的手段 用於匹配的字符串文字,如 特定字符,字詞或 字符的模式。正則表達式 被寫入在正式 語言能夠由 正則表達式處理器被解釋,一個 程序,要麼作爲解析器 發生器或檢驗文本和 標識匹配 提供規範,部分。

+0

感謝您的澄清。 – Roy 2010-11-11 14:48:25

1

/^\w+, ?\w+, ?\w\.?$/在...

  • / /

    外定界符

  • ^ $匹配整個字符串(^表示匹配的開始,$意味着結束匹配)

一個接一個......

  • \w指字的字符(只是w不匹配任何東西,但ASCII字符w
  • \w+字字符(至少有一個相匹配,儘可能地)
  • ?意味着空間是可選,匹配0或1個空格字符
  • .匹配任何不是換行符的字符(可以用正則表達式修飾符配置)
  • \.(比如上例中)完全匹配一個點
+0

不要只說「單詞」;解釋它是'[_ \ pL \ p {Nd}]'。通常'.'不匹配任何字符,但只是非換行符。有時它匹配任何東西,有時它匹配任何不是'\ R'的東西。但是在發佈的模式中沒有未轉義的'.'。 – tchrist 2010-11-11 14:35:30

+0

@tchrist改進了答案,感謝您的反饋。我故意分別介紹'.'和'\ .',並強調後者的存在。對於新手而言,差異可能並不簡單。 – pestaa 2010-11-11 14:39:12

+0

@pestaa:Tahnks。 – tchrist 2010-11-11 14:40:23

2

讓我們打破它,因爲那是更容易閱讀:

 
^  beginning of the line 
\w+  1 or more 'word' characters 
,  a comma 
?  an optional space 
\w+  1 or more 'word' characters 
,  a comma 
?  an optional space 
\w  a single 'word' character 
\.?  an optional period 
$  end of line 

一個「字」字的含義是字母數字字符或下劃線。

+1

請注意,有15,104個代碼點計爲'\ w',因爲''unichars --withbmp --Haastral'\ w'| wc -l' == 15104'。 – tchrist 2010-11-11 14:45:30

+0

謝謝tchrist ...我不明白'unichars --withbmp --huastral'\ w'| wc -l' == 15104'雖然......你能詳細說明一下嗎? – Roy 2010-11-11 15:09:14

+0

從來不知道 - 謝謝。 – 2010-11-12 01:03:56

1

這是一個正則表達式,用於查找一串單詞字符(如字母,數字或下劃線),其中包含兩個逗號,並且每個逗號後面都有可選的單個空格。