0

これはおそらく本当に基本的な質問ですが、答えが見つかりません。文字列を2つ以上のスペースまたは等号で一致させる必要があります。

この文字列を分割する9 x 13 = (8.9 x 13.4) (89 x 134) と、次の( +)ようになります。

part 0: 9 x 13 = (8.9 x 13.4)
part 1: (89 x 134)

で分割すると、次の(=)ようになります。

part 0: 9 x 13 
part 1:  (8.9 x 13.4)          (89 x 134)

どのように両方で分割できますか?何かのようなもの:(=)OR( +)

編集: これは機能しません(=)|( +)、私は期待していました:

part 0: 9 x 13 
part 1: (8.9 x 13.4)
part 2: (89 x 134)
4

4 に答える 4

2

の前後にあるスペースを残すことを除いて、正規表現は機能するはず=です。これは、パーツで実際に 2 つのスペースを使用したと仮定しています( +)(SO のフォーマットによって 1 つのスペースに正規化されています)。これは、あなたが望むと言った正確な結果をもたらします:

@" {2,}|\s*=\s*"
于 2012-06-04T10:51:24.613 に答える
1

単に、

Pattern = "\s*=\s*|(?!\))\s+?(?=\()"
于 2012-06-04T10:34:13.730 に答える
0
(=)|( +)

それはあなたにとって良いことですか?

説明と例: http: //msdn.microsoft.com/en-us/library/ze12yx1d.aspx、3番目のコメントまでスクロールダウン...

于 2012-06-04T10:33:46.937 に答える
0

次のような正規表現を使用できます。[= ]+

var regex = new Regex("[= ]+");
var parts = regex.Split("this is=a test");

// parts = [ "this", "is", "a", "test" ]

セパレーターを保持したい場合は、正規表現を括弧で囲みます。([= ]+)

于 2012-06-04T10:55:29.337 に答える