0
fadjfl (10) fdaf
fadjfl dafhaj (10)
fadjfl dafhaj 34 (10)
fadjfl dafhaj 34 dafads      (10)
fadjfl dafhaj 34 dafa(ds) ((  (10)
fadjfl 
fadjfl dafhaj 
fadjfl dafhaj 34 
fadjfl dafhaj 34 dafads      
fadjfl dafhaj 34 dafa(ds) ((

すべてを選択する正規表現が必要ですが(10)

4

3 に答える 3

3

正規表現について理論的な質問をしていない場合は、常に実装 (PHP、Javascript、.NET など) を指定する必要があります。これはおそらく cs.stackexchange.com に属します。

ただし、最初に、の前に文字列のみが必要な場合は、次のようにします\(\d+\)

(.*?)(?:\(\d+\)|$)

すべてが必要な場合、括弧で囲まれた複数の数字を使用できる場合、それは実際には不可能です。有限数、たとえば3が可能です。

(.*?)(?:\(\d+\)|$)(.*?)(?:\(\d+\)|$)(.*?)(?:\(\d+\)|$)

.NET を使用していない場合:

((.*?)(?:\(\d+\)|$))*

その後、 を循環できますGroupCollection

于 2013-02-07T17:49:10.250 に答える
1

match()何かではない正規表現は非常に複雑になります。代わりに、不要な部分を削除してください。

myStr.replace(/\(\d+\)/, "")
myStr.split(/\(\d+\)/)
于 2013-02-07T17:55:09.127 に答える
1

各行の先頭から各行の最後まで一致させたい場合、および先読み"(10)"が可能なツールを使用していると仮定すると、次のようなものを使用できます。

.*?(?=\(10\)|$)

"(10)"次の文字が含まれるまで(ただし は含まれません"(10)")、または行末に到達するまで、すべてに一致します。この場合、貪欲でない量指定子 ( .*?) を使用することが重要です。そうしないと、正規表現は毎回行全体に一致します。

を除くドキュメント全体を一致させたい場合は、"(10)"任意の種類の文字列置換関数を簡単に使用して"(10)""".

于 2013-02-07T17:47:01.783 に答える