2

私はこの表現を持っています

accordionMain_i0_accordion_i0_ctl01_0_ddl_xxxxxxxx_iy_tblItem

ここで、xxxには「_」も含めることができ、その数は変化します。yは0から増分して開始します。正規表現を使用してxxxxxxを抽出したいと思います。分割関数を試しましたが、xxxxに複数の「_」を含めることができるため、分割から配列の最後の2つの要素を削除して、ddlを確認し、xxxのすべての部分を結合する必要があります。REGEXを使用したより良い方法を知っていますか?どんな助けでも大歓迎です。

4

3 に答える 3

3

RegExエンジンがとをサポートしている場合はlookaheadlookbehind次を使用します。

(?<=_ddl_)\w+?(?=_i\d+)

そうしないと

(:_ddl_)(\w+?)(?:_i\d+)
于 2012-06-28T19:20:20.747 に答える
2

一致が見つかった場合、正規表現はxxxxxxxxaccordionMain_i0_accordion_i0_ctl01_0_ddl_(.*?)_i\d+_tblItem返します。

于 2012-06-28T19:17:42.800 に答える
1

使用している言語を指定する必要があります。しかし、ここにそれを突き刺します:

/accordionMain_i0_accordion_i0_ctl01_0_ddl_([x_]+)_i\d+_tblItem/

次に、xが最初のキャプチャに保存されます$1

これがデモです:http://rubular.com/r/MH4GbMStdf

編集:

文字通りの「x」ではなく「何でも」を意味する場合は、次のようになります。

/accordionMain_i0_accordion_i0_ctl01_0_ddl_(.+)_i\d+_tblItem/
于 2012-06-28T19:17:31.860 に答える