種類
- インスタンスメソッド (264)
- 特異メソッド (38)
- 関数 (11)
- ライブラリ (3)
クラス
- Enumerator (5)
- StringScanner (275)
モジュール
- URI (22)
キーワード
- [] (11)
- check (11)
-
check
_ until (11) - clear (11)
- exist? (11)
- extract (22)
-
get
_ byte (11) - getbyte (11)
- getch (11)
- match? (11)
- matched (11)
- matched? (11)
-
matched
_ size (11) - matchedsize (11)
- new (11)
-
post
_ match (11) -
pre
_ match (11) - produce (5)
-
rb
_ scan _ args (11) - reset (11)
-
scan
_ full (11) -
scan
_ until (11) -
search
_ full (11) - skip (11)
-
skip
_ until (11) - terminate (11)
- unscan (11)
- xmlrpc (3)
検索結果
先頭5件
-
StringScanner
# scan(regexp) -> String | nil (24460.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。
...ら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan(/\w+/) #=> "test"
p s.scan(/\w+/) #=> nil
p s.scan(/\s+/) #=> " "
p s.scan(/\w+/) #=> "string"
p s.scan(/./)......#=> nil
//}... -
StringScanner
# scan _ until(regexp) -> String | nil (21524.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
...分文字列を返します。
マッチに失敗したら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.p... -
StringScanner
# scan _ full(regexp , s , f) -> object (18273.0) -
スキャンポインタの位置から regexp と文字列のマッチを試します。
...* s が false ならばスキャンポインタを進めません。
* f が true ならばマッチした部分文字列を返します。
* f が false ならばマッチした部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返し......ます。
* scan_full(regexp, true, true) は StringScanner#scan と同等。
* scan_full(regexp, true, false) は StringScanner#skip と同等。
* scan_full(regexp, false, true) は StringScanner#check と同等。
* scan_full(regexp, false, false) は StringScanner#match? と同......lse ならばスキャンポインタを進めません。
@param f true ならばマッチした部分文字列を返します。
false ならばマッチした部分文字列の長さを返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.scan... -
StringScanner
# check _ until(regexp) -> String | nil (15417.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
...したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check_until(/str/) # =... -
StringScanner
# skip _ until(regexp) -> Integer | nil (15323.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。
...の長さを返します。
マッチに失敗したら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched # => "str"
s.pos... -
StringScanner
# unscan -> self (12236.0) -
スキャンポインタを前回のマッチの前の位置に戻します。
...list[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
//}
@return selfを返します。
このメソッドでポインタを戻せるのは 1 回分だけです。
2 回分以上戻そうとしたときは例外 Stri......ngScanner::Error が発生します。
また、まだマッチを一度も行っていないときや、
前回のマッチが失敗していたときも例外 StringScanner::Error が発生します。
@raise StringScanner::Error 2 回分以上戻そうとした時や、......ailed
end
p s.scan(/\w+/) # => "test"
s.unscan
begin
# 二回以上戻そうとしたので、例外が発生する。
s.unscan
rescue StringScanner::Error => err
puts err
# 出力例
#=> unscan failed: previous match had failed
end
p s.scan(/\w+/) # => "test"
p s.scan(/\w+/) # => nil
begi... -
StringScanner
# terminate -> self (12218.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
...return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]......# => nil
s.pos # => 11
//}
StringScanner#clear は将来のバージョンで削除される予定です。
代わりに StringScanner#terminate を使ってください。... -
StringScanner
# clear -> self (12118.0) -
スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。
...return self を返します。
pos = self.string.size と同じ動作です。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched # => "test"
s.pos # => 4
s[0] # => "test"
s.terminate
s.matched # => nil
s[0]......# => nil
s.pos # => 11
//}
StringScanner#clear は将来のバージョンで削除される予定です。
代わりに StringScanner#terminate を使ってください。... -
StringScanner
# search _ full(regexp , s , f) -> object (12118.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
...ンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッ......なく nil を返します。
このメソッドは s と f の組み合わせにより、
他のメソッドと同等の動作になります。
* search_full(regexp, true, true) は StringScanner#scan_until と同等。
* search_full(regexp, true, false) は StringScanner#skip_until と......_full(regexp, false, true) は StringScanner#check_until と同等。
* search_full(regexp, false, false) は StringScanner#exist? と同等。
@param regexp マッチに用いる正規表現を指定します。
@param s true ならばスキャンポインタを進めます。
false... -
StringScanner
# matched _ size -> Integer | nil (9353.0) -
前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。
...失敗していたら nil を返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def run(encode)
utf8 = "\u{308B 3073 3044}" # るびい
s = StringScanner.new(utf8.encode(encode))
s.scan(/#{"\u{308B}".encode(e......tched_size
end
p run("UTF-8") #=> 3
p run("EUC-JP") #=> 2
p run("Shift_Jis") #=> 2
//}
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.matched_size # => nil
s.scan(/\w+/) # => "test"
s.matched_size # => 4
s.scan(/\w+/) # => nil
s.matched_size # => nil
//}...