1

私はこの文字列を取得しました:

[[Fil:Hoganas_hamn.jpg|miniatyr|Höganäs Hamn.]] [[Fil:Hoganas_hamn_kvickbadet.jpg|miniatyr|Höganäs Hamn - Kvickbadet.]] [[Fil:Höganäs Jefast ny redigerad-1.jpg|miniatyr|Jefasthuset sett från väster med en del av den nya bryggan vid Kvickbadet.]] '''Höganäs''' är en [[tätort]] och [[centralort]] i [[Höganäs kommun]] i [[Skåne län]]. Höganäs blev stad 1936. Ursprungligen är Höganäs ett [[fiskeläge]] kring vilket en [[gruvindustri]] utvecklades för brytning av [[kol (bränsle)|kol]] och [[lera|leror]] för tillverkning av [[eldfast]] [[keramik]] ([[Höganäskrus]]). Gruvindustrin är numera nedlagd.

[[FIL:+ dynamic word]]のすべてのインスタンスとすべての[[、]]を除外したいのですが、「FIL:」が含まれていない[[word]]だけの場合は、単語自体を除外しません。

正規表現を始めましたが、行き詰まっています。

\[\[\Fil:|\]\]

後の出力Imは次のようになります。

'''Höganäs''' är en tätort och centralort i Höganäs kommun i Skåne län. Höganäs blev stad 1936. Ursprungligen är Höganäs ett fiskeläge kring vilket en gruvindustri utvecklades för brytning av kol (bränsle)|kol och lera|leror för tillverkning av eldfast keramik (Höganäskrus). Gruvindustrin är numera nedlagd.

私はJQueryを持っていますが、.replaceでうまくいくと思いますか?

4

3 に答える 3

1

この正規表現のすべての一致を空の文字列に置き換えてみてください。

\[\[Fil:[^\]]*\]\]|\[\[|\]\]

これを分解するには:

\[\[Fil:[^\]]*\]\]   matches [[Fil:...]]
\[\[                  matches remaining [[
\]\]                  matches remaining ]]
|                     combines with OR

正確な出力を取得するには、空白も削除する必要がある場合があります。

\[\[Fil:[^\]]*\]\]\s+|\[\[|\]\]

したがって、JavaScriptでは、次のように書くことができます。

x.replace(/\[\[Fil:[^\]]*\]\]\s+|\[\[|\]\]/g, '');
于 2012-05-10T15:17:21.117 に答える
1

これを試してみてください、多分あなたはスペースも調整したいでしょう

var string = "[[Fil:Hoganas_hamn.jpg|miniatyr|Höganäs Hamn.]] [[Fil:Hoganas_hamn_kvickbadet.jpg|miniatyr|Höganäs Hamn - Kvickbadet.]] [[Fil:Höganäs Jefast ny redigerad-1.jpg|miniatyr|Jefasthuset sett från väster med en del av den nya bryggan vid Kvickbadet.]] '''Höganäs''' är en [[tätort]] och [[centralort]] i [[Höganäs kommun]] i [[Skåne län]]. Höganäs blev stad 1936. Ursprungligen är Höganäs ett [[fiskeläge]] kring vilket en [[gruvindustri]] utvecklades för brytning av [[kol (bränsle)|kol]] och [[lera|leror]] för tillverkning av [[eldfast]] [[keramik]] ([[Höganäskrus]]). Gruvindustrin är numera nedlagd.";

var result = string.replace(/\[\[Fil:.*?\]\]/g, '').replace(/\[\[(.*?)\]\]/g, '$1');

console.log(result);
于 2012-05-10T15:32:24.900 に答える
0

このような正規表現を使用できます

\[\[.*?\]\]

次に、コールバック関数バージョンのreplaceを使用して、で始まるかどうかを確認しFil:、空白の文字列を返して消去するか、単語自体を返すかを条件付きで決定します。

または、2つの正規表現を使用します。最初に空白の文字列に置き換え、Fil:次に残りを単語だけに置き換えます。使用できます

\[\[(\w+)\]\]

[[word]]または、それらをキャッチして、それを単語への後方参照に置き換えるのに似たもの、つまり、\1括弧内にあるものを参照します。

于 2012-05-10T15:18:20.833 に答える