2016-05-26 8 views
0

に特定の文字と一致。私はそれがカッコ内にある場合にのみ一致した要求に「DD」正規表現:愚かな設計上の理由のために必要である</p> <pre><code>Character (ccdd) </code></pre> <p>のCさんとDの:私は次の文字列を持っている括弧

と一致する)

a)は、「CC」 と Bと一致するように、特にCさんとDのを強調したいです。

しかし、私はそれに到達しません。これまで管理していたのは、

です。編集:さらに明確にする。 InDesignのカッコ内にcとdの2つの別々のスタイルを適用する必要があります。したがって、私は二つの別々の正規表現を探しています。一つはカッコ内のすべてのcにマッチし、もう一つはすべてのマッチにマッチします。

誰かアイデア?

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

+0

あなたは一つのことを確認できます: - '\ G'はどこで働くの? – rock321987

+0

['(?<= \([^()] *)c +(?= [^()] * \))'](http://regexstorm.net/tester?p=(%3f%3c%無限幅のルックアラウンドがサポートされている場合は、3d%5c(%5b%5e()%5d *)c%2b(%3f%3d%5b%5e()%5d *%5c)&i = Character +(ccdd) –

+0

私はあなたがしたいことをよく理解していません。あなたはいつも '(ccdd)'にマッチさせたい文字列ですか?それをリテラルパターンとして使うことができます。 '\ G'がサポートされている場合: –

答えて

2

無限後読みと\Gがサポートされていないので、私はハックを使用することをお勧め:c秒またはd sは閉じ括弧で続いている場合だけでチェック。括弧はバランスがとれている場合と、ネストされた括弧がない場合に動作しますハック

使用

c+(?=[^()]*\)) 

d+(?=[^()]*\)) 

+0

InDesignの最新バージョンは '\ K'をサポートしています。あなたの '\ G'解決策の代替手段として使用できますか? ( '\ G'が何をするのか分かりませんが、ほとんど同じです。) – usr2564301

+0

' \ K'はマッチバッファ内のすべてのテキストを省略します。 '\ K'がサポートされている場合、' \ G'(文字列の先頭または前の一致の終わりに一致します)。それは、 ''(?:\()(^!))\ *(\ //regex101.com/r/lI9hW9/1)。 –

関連する問題

 関連する問題