トップページ > プログラム > 2016年03月07日 > oj83hPpT

書き込み順位&時間帯一覧

3 位/193 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000030001110006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
593
Regular Expression(正規表現) Part13©2ch.net
MacでもLinuxでも使えるVisual Studio Code [転載禁止]©2ch.net

書き込みレス一覧

Regular Expression(正規表現) Part13©2ch.net
593 :デフォルトの名無しさん[]:2016/03/07(月) 14:11:54.25 ID:oj83hPpT
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end/m, '')

=begin
複数行コメント
=end

Rubyで、行頭=begin 〜 行頭=end で囲んだ、複数行コメントの部分を、複数行の最短マッチで削除したいのですが、=end の同じ行内で、
後ろに書いた、改行以外の部分もついでに削除したい。以下の ' ABC'

=begin
複数行コメント
=end ABC
Regular Expression(正規表現) Part13©2ch.net
594 :デフォルトの名無しさん[sage]:2016/03/07(月) 14:26:17.00 ID:oj83hPpT
>>591-592
木構造を持っているものは、正規表現では無理なので、Parserを使う
Regular Expression(正規表現) Part13©2ch.net
595 :593[sage]:2016/03/07(月) 14:43:24.76 ID:oj83hPpT
>>593 自己レス

# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end/m, '#')

str.gsub!(/^#.*$/, '')

元々、行頭が # の行も削除するので、
いったん、複数行コメントの部分を、# に置換してから、
行頭が # の行を削除するようにした

=begin
複数行コメント
=end ABC

これが、以下に置換される
# ABC
Regular Expression(正規表現) Part13©2ch.net
597 :593[sage]:2016/03/07(月) 18:33:50.83 ID:oj83hPpT
>596
# .*? の、? は最短マッチ
str = File.read('File1').gsub(/^=begin.*?^=end.*$/m, '')

複数行マッチで、$ を使ったら、ファイルの最後まで削除された。
以下で、' ABC' だけではなく、'123' も削除された。
たぶん、$ が機能しないで、無視される

=begin
複数行コメント
=end ABC

123
MacでもLinuxでも使えるVisual Studio Code [転載禁止]©2ch.net
139 :デフォルトの名無しさん[sage]:2016/03/07(月) 19:02:09.67 ID:oj83hPpT
>>131
Atom, Visual Studio Code は、Electron を使っている。
Electron(旧Atom-Shell)とは、Node.js + Chromium

世の中には、Electronでアプリを配布する、富豪もいるのだよw
Regular Expression(正規表現) Part13©2ch.net
599 :593[sage]:2016/03/07(月) 20:46:34.99 ID:oj83hPpT
>598
改行コードが、[\r\n]限定で、それで出来ました。
gsub(/^=begin.*?[\r\n]=end[^\r\n]+/m, '')

=begin
複数行コメント
=end ABC

123

これで、ABCも削除されて、123だけが残ります


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。