【发布时间】:2026-01-24 17:50:01
【问题描述】:
我需要过滤字符串中的重复模式。字符串是:
Lorem ipsum dolor sit amet,consectetuer adipiscing elit。 Aenean commodo >ligula eget dolor >>(Special:Loremipsumdollar###loremipsumdollar###loremipsumdollar ### >3.4039###verified),(Special:Loremipsumdollar###loremipsumdollar###loremipsumdollar ### >3.4039## #verified) 等等......
模式是
(文本:文本###文本###文本###文本###文本),(文本:文本###文本###文本###文本###文本)等等。 .....
我需要以结构形式(更好的 JSON)提取所有数据。 如果有人可以帮助我?
我正在尝试这个东西,它只返回一个匹配项。
var txt='(Special:Loremipsumdollar###loremipsumdollar###loremipsumdollar ###3.4039###verified),(Special:Loremipsumdollar###loremipsumdollar###loremipsumdollar ###3.4039###verified)';
var re1='.*?'; // Non-greedy match on filler
var re2='(?:[a-z][a-z]+)'; // Uninteresting: word
var re3='.*?'; // Non-greedy match on filler
var re4='((?:[a-z][a-z]+))'; // Word 1
var re5='.*?'; // Non-greedy match on filler
var re6='((?:[a-z][a-z]+))'; // Word 2
var re7='.*?'; // Non-greedy match on filler
var re8='((?:[a-z][a-z]+))'; // Word 3
var re9='.*?'; // Non-greedy match on filler
var re10='([+-]?\\d*\\.\\d+)(?![-+0-9\\.])'; // Float 1
var re11='.*?'; // Non-greedy match on filler
var re12='((?:[a-z][a-z]+))'; // Word 4
var p = new RegExp(re1+re2+re3+re4+re5+re6+re7+re8+re9+re10+re11+re12,["i"]);
var m = p.exec(txt);
if (m != null)
{
var word1=m[1];
var word2=m[2];
var word3=m[3];
var float1=m[4];
var word4=m[5];
document.write("("+word1.replace(/</,"<")+")"+"("+word2.replace(/</,"<")+")"+"("+word3.replace(/</,"<")+")"+"("+float1.replace(/</,"<")+")"+"("+word4.replace(/</,"<")+")"+"\n");
}
【问题讨论】:
标签: javascript regex