0

私は正規表現について非常に基本的な理解を持っていますが、これを達成するのは難しいと感じています。

このような多数のオプションを備えたhtml selectがあります

<select>
  <option value="%001% 25cm Single" label="%001% 25cm Single">%001% 25cm Single</option>
  <option value="%002% 25cm Single" label="%002% 25cm Single">%002% 25cm Single</option>
  <option value="%003% 25cm Single" label="%003% 25cm Single">%003% 25cm Single</option>
</select>

%001%、%002% などは、オプションの順序付けに使用されます。開始 % と終了 %、およびその間のコンテンツもフロントエンドから非表示にする必要があります。ただし、これを行う前に、%xxx% を正規表現で取得する必要があります。

したがって、必要なのは、% で始まり、その後に任意の 3 桁の数字が続き、さらに別の % が続く文字列の各オプションの最初のオカレンスと一致させることです。% の間の数字は、注文のために返す必要があるものです

また、jquery を使用してフロント エンドから非表示にできるように、その間の % と 3 つの数字の両方に一致して返す正規表現ルールも必要です。

これまでのところ、

/^%.{3}%/

すべての助けに感謝

4

2 に答える 2

0

%123% パーツの使用を取得するには:%[\d]{3}%

于 2012-10-29T16:11:32.310 に答える
0

一般に、別の停止文字までのすべての文字を検索するには、次のいずれかを使用できます。

/[^%]+/ // One or more characters which are not a % character
/.+?%/  // One or more non-newline characters, as few as possible, up to a %

したがって、 a の%後に次の まで続くものを見つけるには、次の%いずれかを使用できます。

/%[^%]+%/
/%.+?%/

ただし、常に正確に 3 桁の文字が必要であることがわかっている場合は、その (より制限的な) 正規表現を使用する必要があります。

/%\d{3}%/

別の参照用に一致の一部を保持する場合は、括弧で囲んで「キャプチャ」にします。各キャプチャは、によって返される配列の個別の部分として出力されString.prototype.matchます。

var marker = /%(\d{3})%/;
var string = "%001% 25cm Single";
var results = string.match(marker);
var number  = results && results[1]; // "001"
于 2012-10-29T16:20:45.293 に答える