2016-06-30 4 views
0

私は、文字列を持っています。正規表現検索の括弧内の文字列と置換するには、

ので、前述の例の最終的な出力は次のようになります。Hello there Some Person. How are you? Where is your coffee? Another Person said you are not great at regex.

これまでのところ私が持っている:ここでは

> var re = /\[@([\w\s]+)\](\(\S+\))/g 
> str.match(re) 
> ["[@Some Person](#/path/to/person)", "[@Another Person](#/path/to/another)"] 
// matches but not quite what I want. 
> str.replace(re, $1) 
> "Hello there undefined. How are you? Where is your coffee? undefined said you are not great at regex." 
// does not replace as expected. 

は私regex sandboxです。私はちょうど私が欲しいものを得るためにstr.replaceを使用したいと思います。それが可能かどうかは確かではありません。それがそうであるように思われる。助けてください。

+1

あなたの(間違った)出力とは何ですか? $ 1を変数として扱っているようです。おそらくちょうど引用符で囲む必要があります。それは '$ 1'になるはずです – Assimilater

+0

私はダウン投票した人ではありませんので、私はあなたに話すことはできません。理論的には何が間違っているのかわからないので、間違った出力は含まれていないからです。 – Assimilater

+0

str.replaceの間違った出力が含まれていると思います。しかし、私は質問に無関係なので、このコメントスレッドに投機をあてないでください。助けてくれたすべての人にありがとう。 – Jeff

答えて

2

あなたが$1の周りに二重引用符を忘れてしまった:

str.replace(re, "$1") 
+0

ありがとう!信じられない! – Jeff

関連する問題