帮助Regexp

Tom*_*len 1 javascript regex

鉴于测试字符串:

<div class="comment-quoter">Comment by <strong>Tom</strong>
Run Code Online (Sandbox Code Playgroud)

我想把它改成

[quote=Tom]
Run Code Online (Sandbox Code Playgroud)

我已经达到了这个但它没有匹配:

PostTxt = PostTxt.replace(new RegExp("<div class=\"comment-quoter\">Comment by <strong>{(.+),}</strong>", "g"), '[quote=$1]')
Run Code Online (Sandbox Code Playgroud)

Tow*_*own 5

尝试:

PostTxt = PostTxt.replace(new RegExp("<div class=\"comment-quoter\">Comment by <strong>(.+)</strong>", "g"), '[quote=$1]')
Run Code Online (Sandbox Code Playgroud)

圆括号表示$1捕获组,因此大括号和逗号将匹配文字而不是必需的.

根据您的期望,通过更具体地说明您为捕获组匹配的字符,可以减少它的贪婪:

(\w+)

将匹配一个或多个字母数字字符,如果您的输入字符串中有多个引号,则会返回正确的匹配项.