0

ユーザー名とIDを抽出する必要がある文字列の下にあります。

This is a string which has a @[User Full Name](contact:1)  data inside.

上記の文字列からユーザー名と連絡先 ID を取得するには、この正規表現パターンを使用しています。

    var re = /\@\[(.*)\]\(contact\:(\d+)\)/;
    text = text.replace(re,"username:$1 with ID: $2");
// result == username: User Full Name with ID: 1

問題は、文字列に複数のユーザー名があることです。/g (グローバル) を使用してみましたが、適切に置き換えられません: 文字列の例:

This is a string which has a @[User Full Name](contact:1)  data inside. and it can also contain many other users data like  @[Second Username](contact:2) and  @[Third username](contact:3) and so many others....

グローバルに使用すると、次の結果が得られます。

var re = /\@\[(.*)\]\(contact\:(\d+)\)/g;
text = text.replace(re,"username:$1 with ID: $2");
//RESULT from above     
This is a string which has a user username; User Full Name](contact:1) data inside. and it can also contain many other users data like @[[Second Username](contact:2) and @[Third username and ID: 52 and so many others....
4

2 に答える 2