1

私の HTML マークアップには、次の命名スキームを持つ一連の要素があります。

name="[].timeEntries[].Time"

括弧の両方のセットの間には、少なくとも 1 つ、場合によっては 2 桁の数字があります。2 番目の数字セットを除外する必要があります。

免責事項:正規表現を知るのはこれが初めてです。

これまでの私のパターンは次のとおりです。

var re = /\[\d{1,2}\].timeEntries\[(\d{1,2})\]\.Time/;
  1. 2 桁の数字を示すために * と + のどちらの文字を使用すればよいかわかりません。
  2. replace() はこれに適した方法ですか?
  3. ピリオド「.」をエスケープする必要がありますか? ?
  4. あなたが提供できる他のヒントは大歓迎です。

たとえば、要素に出くわした場合

name="[10].timeEntries[9].Time"

9 だけを変数に入れたいと思います。

4

2 に答える 2

0

あなたはかなり近いです。

これを行う方法はたくさんあります。特に、そのテキストの形式がどれだけしっかりしているかによって異なります。

置換を使用できます:

var re = /\[\d+\]\.timeEntries\[([\d]+)\]\.Time/;
var digits = element_name.replace(re, '$1');

常に2番目の数字セットになることがわかっている場合は、次を使用できますmatch

indexOfand/orおよびその他の文字列関数を使用することもできsplitます...場合によっては、より高速になる可能性があります(ただし、あなたの場合、正規表現は問題なく、おそらく従うのが簡単だと思います)

于 2013-06-21T13:40:33.913 に答える