2009-06-25 12 views
1

LaTeXのドキュメントを再構成されたテキストに変換していて、Visual Studio 2003の正規表現に問題があります。\ emph {テキスト} *以下の検索を使用して*テキストに/文字列を置き換えます。Visual Studio 2003での正規表現の置き換えの問題

\\emph\{([^\}]*)\} 

*\0* 

をしかし、私が手にこのペアを使用して、\ EMPH {テキスト}は、私が期待できない何だった* \ EMPH {テキスト} *に変換します。 * \ 0の代わりに* \ 1 *を使用すると、置換結果として**が得られます。

私は何が不足していますか、グループ化ルールについて何か分かりませんか?

ありがとうございました。

+0

確かにサンプルテキスト行を投稿できますか? –

+0

私はあなたが何を意味するか分かりません。 –

+0

行をマッチさせて別の行に置き換えようとしています。サンプルラインを投稿できますか? –

答えて

3

VS正規表現の置換構文では、\ 0は最初に取得された変数の内容(\ 2は2番目など)であるのに対し、\ 0は完全一致した文字列です。したがって:EMPH {テキスト}は* \ EMPH {テキスト}私が期待していない何だった* に変換\

\ 0

しかし、このペアを使用して、私は を取得します。

このように、\ 0は一致する文字列全体です。

* \ 0 *の代わりに* \ 1 *を使用すると、置換結果として**が得られます。

おそらく、キャプチャクラスで何も一致していない可能性があります。

詳細を追加するには、キャプチャクラス(タグ付き式the docs)の構文では、ここで使用しているようにカッコ{}を使用せず、かっこ()を使用します。おそらく、これは「検索」式として機能します:

\\emph\{{[^\}]*}\} 
+0

ああです...ということまさに問題です。どうもありがとうございました。 –

関連する問題