1

1 つの単語を除く任意の文字の正規表現グループを定義するにはどうすればよいですか?

すでに尋ねられた同様の質問がいくつかあることは知っていますが、複雑な正規表現内でそれを行う方法を見つけることができませんでした:

私の正規表現は次のようになります:

...(?<Subfield7>.{1,16})(?<Subfield8>//.{1,16})?

Subfield7 は、次のサブフィールドの区切り文字であるため、2 つのスラッシュ以外のものと一致する必要があります。

  • ... abcdefghijklmnop //abcdefghijklmnop -> サブフィールド 7: abcde..., サブフィールド 8: //abcde...
  • ... 1.3,5-7 9/11 //abcdefghijklmnop -> サブフィールド 7: 1.3,5-7 9/11、サブフィールド 8: //abcde...
  • ... 12345 //abc//123//456 -> サブフィールド 7: 12345、サブフィールド 8: //abc//123//456

編集:
私の目標は、サブフィールド 7 とサブフィールド 8 を特定することでした。定義により、サブフィールド 8 は 2 つの先頭のスラッシュで始まりますが、サブフィールド 7 には (単一の) スラッシュも含まれる場合があります。サブフィールド 7 と 8 の長さは可変です。

4

1 に答える 1

0

空でない文字列が//必要な場合は、使用できます

"(?!.*//).{1,16}"

これは/aおよび/に一致し、 // aまたは//またはa//bには一致しません。

これは、あなたの望むことですか?

于 2013-01-09T09:45:40.987 に答える