2

私は次のような文字列を持っています:

 - 3.1 TitleA
 - 3.1.1 TitleB
 - 3.1.1.1 TitleC
 - 3.2 TitleD
 - 3.2.1 TitleE
 - 3.2.2 TitleF
 - 3.3 TitleG

使用しようとした 3.XI で始まるタイトルのみを取得したい (C#):

Match m = Regex.Match(table_of_content[i], "3.[1-999]");

しかし3.2.1 、3.X で始まるタイトルのみを取得するにはどうすればよいですか?のようなタイトルが表示されました。

前もって感謝します

4

2 に答える 2

6

簡単な解決策は次のとおりです。

@" 3\.\d+ "

これは、セクション番号の前後にスペースがあることを前提としています。

仮定が当てはまる場合、これは次のようなケースの一致を避けるための最も簡単な解決策です。

  • 13.2( の前に表示される他の数字3)
  • 2.3.2(3は最高レベルのセクション番号ではありません)
  • 3.10.1(2 レベル以上のサブセクション)
于 2013-04-23T09:00:39.717 に答える
0

彼には 3.x だけが必要だと思います (3.xx ではありません)

(?<!\w|\.)3.\d+(?!\w|\.)

よし、これなら

于 2013-04-23T09:05:23.103 に答える