2016-05-04 5 views
1

、私も、私はちょうど::Temple::Utils.escape_html((...))を削除し、括弧((...))間のテキストを維持したい正規表現は、開始と終了を含むテキストを削除します。例えば(::寺:: Utils.escape_html)Railsでは

<tr class="highlight"> 
    <td><%= ::Temple::Utils.escape_html((cloud_file.name)) %> 
    </td><td> 
    <div class="input-append"> 
     <%= ::Temple::Utils.escape_html((text_field_tag '', cloud_file.asset.url, :class => :span4)) %> 
     <%= ::Temple::Utils.escape_html((link_to 'check', cloud_file.asset.url, :target => :_blank, :class => :btn)) %> 
    </div></td><td><%= ::Temple::Utils.escape_html((number_to_human_size(cloud_file.file_size))) %> 
</td><td><%= ::Temple::Utils.escape_html((cloud_file.content_type)) %> 
</td><td> 
<%= ::Temple::Utils.escape_html((admin_delete_button(cloud_file))) %> 
</td></tr> 
::Temple::Utils.escape_html((cloud_file.content_type)) 
::Temple::Utils.escape_html((l)) 

役に立たないテキストと一致してしまった、ERBにスリム変換します。例( "cloud_file.name")

ここに私の正規表現はありません。

::Temple::Utils.escape_html\({2}(?<=[^.*])\){2} 

どのように修正しましたか? THX

+0

['gsub(/ :: Temple :: Utils \ .escape_html \({*})\ {2}/m、 '\ 1')'](https:// ideone。 com/HEUdbZ)? –

答えて

1

私はお勧め:

gsub(/::Temple::Utils\.escape_html\({2}(.*?)\){2}/m, '\1') 

IDEONE demoregex demoを参照してください。

消耗サブパターン.*?ではなく、lookbehind (?<=[^.*])を使用しました。パターンと置換パターンを調整して、1組のカッコを含めるか、キャプチャグループ#1の両端に引用符を追加することができます((...)でキャプチャした部分)。

+0

正しいですが、私も知りたいのですが、崇高なテキストでこれを直接得ることができます –

+0

あなたはそれを崇高なテキストでタグ付けしていませんが、実際に '(?s):: Temple :: Utils \ .escape_html \ ({2}(。*?)\){2} 'には' \ 1'の置換パターンがあります。 –

+0

あなたの熱意に感謝します。 –

関連する問題