2013-08-24 66 views
1

我感興趣的是使用Javascript來查找一串文本中的所有參考樣式降價鏈接。所以,我想以下幾點:如何匹配參考樣式的降價鏈接?

  • [all the things][things] => "things"
  • [something] => "something"

但不是:

  • [o hai](http://example.com)
  • [o hai] (http://example.com)

換句話說,一個開放的方括號後跟一個方括號,捕獲文本里面的內容,但不一樣,後面跟着一組括號。

有意義嗎?謝謝!

+0

有意義嗎?如何在不顯示代碼的情況下做到這一點。 – Praveen

+0

對於任何人來說。基本規則是Javascript和用例。目前還沒有代碼。我很想知道有哪些選項可用於執行此類操作。 – slant

回答

1

例如:誰

/(?:\[[\w\s]*\])?(\[[\w\s]*\])(?!\s*\()/ 
^--------------^ - possibly first [...], ?: - non-capturing group 
       ^-----------^ - followed by [...] 
           ^-------^ - not followed by " (" - spaces + (

> [all the things][things]".match(/(?:\[[\w\s]*\])?(\[[\w\s]*\])(?!\s*\()/)[1] 
"[things]" 
> "[something]".match(/(?:\[[\w\s]*\])?(\[[\w\s]*\])(?!\s*\()/)[1] 
"[something]" 
> "[o hai](http://example.com)".match(/(?:\[[\w\s]*\])?(\[[\w\s]*\])(?!\s*\()/) 
null 
> "[o hai] (http://example.com)".match(/(?:\[[\w\s]*\])?(\[[\w\s]*\])(?!\s*\()/) 
null