0

テキストがあり、正規表現のある文字列を見つけたいです。私の問題は、ここで「&&-and」を作成する方法がわからないことです。

私はこのようなテキストを持っています:

AB " something is here;
  and here...
";
...
AB "new line 
 continues ... ";

"で終わるすべてのABを見つけたい。

「;」に使用するコード :

var matches = Regex.Matches(tmp, "(AB) ([^;]*);", RegexOptions.Singleline);

しかし、どうすれば作ることができ "(AB) ([^(\";)]*)\";"ます"(AB) ([^(\"&&;)]*)(\"&&;")か?

私はを頂きたい:

AB

" something is here;
 and here ...
"

AB
"new line
 continues ..."
4

3 に答える 3

2

^文字クラスを否定することしかできず、文字列を含めることはできません (ただし、単一の文字のみ)。ただし、否定先読みと呼ばれる、文字列 (または実際には本格的な正規表現) の同様の概念があります。

@"(AB) (\"(?:(?!\";).)*\");"

これは.、 の開始をマークしない限り、任意の文字 ( ) を消費するようになりました";Singlelineもちろん、このオプションを使い続けてください。ルックアラウンド アサーションについては、こちらを参照してください。

于 2012-11-05T10:28:43.510 に答える
0

これを試してくださいRegex

AB\s+\"((?:.+\s*)+?(?=\";))\";

説明:

(?= subexpression) ゼロ幅の正先読みアサーション。

(?: subexpression) 非キャプチャ グループを定義します。

. ワイルドカード: . を除く任意の 1 文字に一致します\n

\s 任意の空白文字に一致します。

于 2012-11-05T10:38:54.197 に答える
0

ANDその演算子が存在するか、必要でさえないと思います。この質問を読んで

ただし、文字列検索ソリューションを完成させるには、この正規表現ガイドが大いに役立ちます。それが役に立てば幸い。

http://www.regular-expressions.info/reference.html

于 2012-11-05T10:28:26.643 に答える