Ruby について Part 4
■ このスレッドは過去ログ倉庫に格納されています
0586デフォルトの名無しさん
NGNG以下でどう?
# マッチしたいものは
# (a) "|以外の文字列"の連続と "|"
a = / [^|]+\| /x
# (b) "|" のみ
b = / \| /x
# (c) "|以外の文字列"の連続と "文字列末尾"
c = / [^|]+\z /x
re = / #{a} | #{b} | #{c} /x
p "1|2|3".scan(re) # => ["1|", "2|", "3"]
p "1|2||3".scan(re) # => ["1|", "2|", "|", "3"]
以下でもいいみたいだな。
# マッチしたいものは
# (a) "|以外の文字列"の連続と "|"(または「末尾」)
# 「末尾」と言い切れるのは [^|]+ のおかげ
a = / [^|]+\|? /x
# (b) "|" のみ
b = / \| /x
re = / #{a} | #{b} /x
p "1|2|3".scan(re) # => ["1|", "2|", "3"]
p "1|2||3".scan(re) # => ["1|", "2|", "|", "3"]
■ このスレッドは過去ログ倉庫に格納されています