在 ECMAScript 中,这是我正在使用的正则表达式:
replace(/\[(.+)\s+->\s+([^\]]+)]/g, '<a class=adl_btnlnk href="$2">$1</a>');
这对于以下字符串很好:
"[INNER\"',';!@#$%^&*gobbeldygook -> -> -> http://li.nk?u=r&l]"
...它正是我需要的。但是当我有什么时候:
"[INNER\"',';!@#$%^&*gobbeldygook -> -> -> http://li.nk?u=r&l] laksjfalksdjf98723&*(*&(*@&#$ [foo -> http://li.nk]"
它导致一个断开的链接:
"<a class=adl_btnlnk href="http://li.nk">INNER"',';!@#$%^&*gobbeldygook -> -> -> http://li.nk?u=r&l] laksjfalksdjf98723&*(*&(*@&#$ [foo</a>"
我怎样才能使它成为:
"<a class=adl_btnlnk href="http://li.nk?u=r&l">INNER"',';!@#$%^&*gobbeldygook -> -></a> laksjfalksdjf98723&*(*&(*@&#$ <a class=adl_btnlink href="http://li.nk">foo</a>"