0

こんにちは、私はこのようにする必要があります。

Actually **ctu** is a good university but **ctu's** is not. There are many **,ctus,** present.

私がやりたいのは、このように文字列の ctu を置き換えたいということです。

Actually **<s>ctu<e>** is a good university but **<s>ctu's<e>** is not. There are many **,<s>ctus<e>,** present.

しかし、次のパターンで

**\\bctu*(?:['\\\\|""\\\\]*)\\w+\\b**

私は次のように出力しています:

A**<s>ctu<e>**ally **<s>ctu<e>** is a good university but **<s>ctu's<e>** is not. There are many **,ctus,**   present.

単語内の ctu を実際に置き換えたくありません。" ,ctus, "" ,<s>ctus<e>, " また、正規表現を使用してこれを実現する方法置き換える必要があります。これはC#で必要です。Cシャープ。

前もって感謝します。

4

2 に答える 2

0

次の正規表現は、例にリストされているすべてのケースに一致します。

@"(\bctu(?:'\w+)?\w*\b)"

@"<s>\1<e>"次に、一致を上記の一致への後方参照である場所に置き換え\1ます。

于 2012-04-23T18:28:16.380 に答える
0

最初の検索パターンで ("ctu" の両側に単語境界があるため、 、 、または には一致しません) を探し@"\bctu\b"ており、ctu2番目の検索パターンとして (単語のどこにあるかに関係なく、正確に文字列) を探していますか? ? これらの両方を一度に検索するには、 を使用できます。Actuallyctu's,ctus,",ctus,",ctus,@"(\bctu\b|,ctus,)"

余談ですが、C @""#では"". たとえば、単語の境界を理解するために正規表現を取得するには、 or\bとして表すことができる、およびリテラルがorであることを確認する必要があります。特により複雑なケースでは、最初のほうが読みやすいです。@"\b""\\b"\"\\\\"@"\\"

これで質問の答えが得られない場合は、予想される入出力の明確な例を示してください。

于 2012-04-23T15:53:32.740 に答える