るりまサーチ

最速Rubyリファレンスマニュアル検索!
55件ヒット [1-55件を表示] (0.074秒)
トップページ > クエリ:-[x] > クエリ:scan_until[x]

別のキーワード

  1. string scan
  2. _builtin scan
  3. strscan scan_until
  4. c scan
  5. rd scan

ライブラリ

クラス

キーワード

検索結果

StringScanner#scan_until(regexp) -> String | nil (18207.0)

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

...を返します。

@param regexp マッチに用いる正規表現を指定します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.pos # => 8
s.pre_match # => "test "
//}...

StringScanner#search_full(regexp, s, f) -> object (112.0)

regexp で指定された正規表現とマッチするまで文字列をスキャンします。

...f の組み合わせにより、
他のメソッドと同等の動作になります。

* search_full(regexp, true, true) は StringScanner#scan_until と同等。
* search_full(regexp, true, false) は StringScanner#skip_until と同等。
* search_full(regexp, false, true) は StringS...
...tringScanner.new('test string')
p s.search_full(/t/, true, true) #=> "t"
p s.search_full(/str/, false, true) #=> "est str"
p s.search_full(/string/, true, true) #=> "est string"
//}


@see StringScanner#scan_until StringScanner#skip_until StringScanner#check_until StringScanner#exist?...

StringScanner#charpos -> Integer (106.0)

現在のスキャンポインタのインデックスを文字単位で返します。

...キャンポインタのインデックスを文字単位で返します。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new("abcädeföghi")
s.charpos # => 0
s.scan_until(/ä/) # => "abcä"
s.pos # => 5
s.charpos # => 4
//}

@see StringScanner#pos...

StringScanner#skip_until(regexp) -> Integer | nil (106.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 # => 8
s.pre_match # => "test "
//}...

StringScanner (60.0)

StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。

...e
//}


現在のスキャンポインタがさす地点以外でもマッチしたい場合は、StringScanner#scan_untilなど
を使ってください。

//emlist[例: scan, scan_until の動作の違い][ruby]{
require 'strscan'

def case1
s = StringScanner.new('test string')
p s.scan(/t/)...
..."string"
end

def case2
s = StringScanner.new('test string')
p s.scan_until(/t/) #=> "t"
p s.scan_until(/\w+/) #=> "est"
p s.scan_until(/string/) #=> " string"
p s.scan_until(/\s+/) #=> nil
p s.scan_until(/string/) #=> nil
end

p "case1"
case1
p "case2"
case2
//}

スキ...
...なります。

//emlist[例:][ruby]{
# 次の行以降の内容を EUC-JP として保存して試してください
# vim:set fileencoding=euc-jp:
require 'strscan'
s = StringScanner.new("るびい") # 文字コードはEUC-JPとします
p s.exist?(/び/) #=> 4
//}

StringScanner は $~ $& $1 $2...

絞り込み条件を変える