ライブラリ
- ビルトイン (67)
-
irb
/ magic-file (1) -
minitest
/ spec (1) -
minitest
/ unit (2) -
net
/ telnet (6) - openssl (5)
- optparse (3)
- rake (2)
-
rdoc
/ parser (1) -
ripper
/ lexer (1) - strscan (11)
-
test
/ unit (1) -
webrick
/ httputils (2)
クラス
- MatchData (6)
-
MiniTest
:: Unit (1) - Module (1)
-
Net
:: Telnet (6) - OptionParser (3)
-
RDoc
:: Parser (1) -
Rake
:: FileList (1) - Regexp (7)
- Ripper (1)
- String (31)
- StringScanner (11)
- Symbol (12)
モジュール
- Kernel (12)
-
MiniTest
:: Assertions (1) -
OpenSSL
:: Buffering (5) -
Test
:: Unit (1) -
WEBrick
:: HTTPUtils (2)
オブジェクト
-
IRB
:: MagicFile (1)
キーワード
-
$ & (1) -
$ & # 39; (1) -
$ + (1) -
$ -0 (1) -
$ -F (1) -
$ / (1) -
$ ; (1) -
$ ` (1) - === (1)
- =~ (3)
-
ENCODING
_ SPEC _ RE (1) - MULTILINE (1)
- Ruby用語集 (1)
- [] (12)
- []= (7)
-
assert
_ match (1) - check (1)
-
check
_ until (1) - cmd (2)
- compile (1)
- each (1)
-
each
_ line (1) - egrep (1)
- escape (1)
-
escape
_ path (1) - exist? (1)
-
fixed
_ encoding? (1) - gets (1)
- gsub (3)
- gsub! (3)
- index (1)
-
infect
_ with _ assertions (1) -
last
_ match (1) - login (2)
- match (3)
- match? (1)
- new (1)
- offset (2)
- on (3)
-
parse
_ files _ matching (1) - pathmap (1)
- readline (1)
- readlines (1)
- rindex (1)
-
ruby 1
. 8 . 2 feature (1) -
run
_ test _ suites (1) - scan (2)
-
scan
_ full (1) -
scan
_ until (1) -
search
_ full (1) -
setup
_ argv (1) - skip (1)
-
skip
_ until (1) - slice (12)
- split (1)
- sub (3)
- sub! (2)
-
values
_ at (1) - waitfor (2)
- 制御構造 (1)
検索結果
先頭5件
-
正規表現 (46144.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
正規表現
* metachar
* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular expression)は文字列のパタ... -
OpenSSL
:: Buffering # readline(eol= $ / ) -> String (45937.0) -
通信路から一行読み込んで、それを返します。
通信路から一行読み込んで、それを返します。
行区切りは eol で指定した文字列/正規表現になります。
読み込みが終端に到達した場合は例外 EOFError を発生します。
IO#readline と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現
@raise EOFError 読み込みが終端に到達した場合に発生します。 -
OpenSSL
:: Buffering # readlines(eol= $ / ) -> [String] (45937.0) -
データを通信路から末端まで全て読み込んで、 各行を要素として持つ配列を返します。
データを通信路から末端まで全て読み込んで、
各行を要素として持つ配列を返します。
行区切りは eol で指定した文字列/正規表現になります。
IO#readlines と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現 -
OpenSSL
:: Buffering # each _ line(eol= $ / ) {|line| . . . } -> () (37219.0) -
現在の読み込み位置から1行ずつ文字列として読み込み、 それを引数としてブロックを呼び出します。
現在の読み込み位置から1行ずつ文字列として読み込み、
それを引数としてブロックを呼び出します。
IO#each と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現 -
Regexp
:: MULTILINE -> Integer (36997.0) -
複数行モード。正規表現 "." が改行にマッチするようになります。 正規表現リテラルの //m オプションと同じです。
複数行モード。正規表現 "." が改行にマッチするようになります。
正規表現リテラルの //m オプションと同じです。 -
Net
:: Telnet # login(opts , password=nil) -> String (36955.0) -
指定したユーザ名とパスワードでログインします。
指定したユーザ名とパスワードでログインします。
opts が文字列である場合は、 それをユーザ名、passwordをパスワードと
してログインします。
opts がハッシュである場合には、"Name" と "Password" をキーとする文字列を
ユーザ名、パスワードとしてログインします。
また、opts がハッシュの場合には以下のオプションが利用できます。
"LoginPrompt" ログインプロンプトを正規表現で指定します。
デフォルト値は /[Ll]ogin[: ]*\z/n です。
"PasswordPrompt" パスワード入力プロンプトを正規表現で指定します。
デフォルト値... -
Net
:: Telnet # login(opts , password=nil) {|mesg| . . . } -> String (36955.0) -
指定したユーザ名とパスワードでログインします。
指定したユーザ名とパスワードでログインします。
opts が文字列である場合は、 それをユーザ名、passwordをパスワードと
してログインします。
opts がハッシュである場合には、"Name" と "Password" をキーとする文字列を
ユーザ名、パスワードとしてログインします。
また、opts がハッシュの場合には以下のオプションが利用できます。
"LoginPrompt" ログインプロンプトを正規表現で指定します。
デフォルト値は /[Ll]ogin[: ]*\z/n です。
"PasswordPrompt" パスワード入力プロンプトを正規表現で指定します。
デフォルト値... -
RDoc
:: Parser # parse _ files _ matching(regexp) -> () (36667.0) -
regexp で指定した正規表現にマッチするファイルを解析できるパーサとして、 自身を登録します。
regexp で指定した正規表現にマッチするファイルを解析できるパーサとして、
自身を登録します。
@param regexp 正規表現を指定します。
新しいパーサを作成する時に使用します。
例:
class RDoc::Parser::Xyz < RDoc::Parser
parse_files_matching /\.xyz$/
...
end -
String
# split(sep = $ ; , limit = 0) -> [String] (28027.0) -
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' '
先頭と末尾の空白を除いたうえで、空白文字列で分割する。
: nil
常に $; で分割する。 $; も nil の場合は、先頭と末尾... -
IRB
:: MagicFile . ENCODING _ SPEC _ RE -> %r"coding\s*[=:]\s*([[:alnum:]\- _ ]+)" (27949.0) -
マジックコメントにマッチする正規表現を返します。
マジックコメントにマッチする正規表現を返します。 -
String
# index(pattern , pos = 0) -> Integer | nil (27937.0) -
文字列のインデックス pos から右に向かって pattern を検索し、 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から右に向かって pattern を検索し、
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合、文字列の末尾から数えた位置から探索します。
@param pattern 探索する部分文字列または正規表現
@param pos 探索を開始するインデックス
//emlist[例][ruby]{
p "astrochemistry".index("str") # => 1
p "reg... -
String
# rindex(pattern , pos = self . size) -> Integer | nil (27937.0) -
文字列のインデックス pos から左に向かって pattern を探索します。 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。
文字列のインデックス pos から左に向かって pattern を探索します。
最初に見つかった部分文字列の左端のインデックスを返します。
見つからなければ nil を返します。
引数 pattern は探索する部分文字列または正規表現で指定します。
pos が負の場合は、文字列の末尾から数えた位置から探索します。
rindex と String#index とでは、探索方向だけが逆になります。
完全に左右が反転した動作をするわけではありません。
探索はその開始位置を右から左にずらしながら行いますが、
部分文字列の照合はどちらのメソッドも左から右に向かって行います。
以下の例を参照して... -
StringScanner
# scan _ until(regexp) -> String | nil (27667.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched # => "str"
s.pos ... -
StringScanner
# check _ until(regexp) -> String | nil (27619.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check_until(/str/) # => "test str"
s.matched # => "str... -
StringScanner
# skip _ until(regexp) -> Integer | nil (27619.0) -
regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。
regexp が一致するまで文字列をスキャンします。
マッチに成功したらスキャンポインタを進めて、
スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。
マッチに失敗したら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched # => "str"
s.pos # =>... -
StringScanner
# search _ full(regexp , s , f) -> object (27367.0) -
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
regexp で指定された正規表現とマッチするまで文字列をスキャンします。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
* f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と ... -
Module
# infect _ with _ assertions(positive _ prefix , negative _ prefix , skip _ regexp , map = {}) -> () (27319.0) -
BDD 風にテストを書くために使用するメソッド群を定義します。
BDD 風にテストを書くために使用するメソッド群を定義します。
@param positive_prefix assert の代わりのプレフィックスを指定します。
@param negative_prefix refute の代わりのプレフィックスを指定します。
@param skip_regexp この正規表現にマッチしたメソッドは定義しません。
@param map メソッド名の変換規則のハッシュを指定します。 -
StringScanner
# scan _ full(regexp , s , f) -> object (27319.0) -
スキャンポインタの位置から regexp と文字列のマッチを試します。
スキャンポインタの位置から regexp と文字列のマッチを試します。
マッチに成功すると、s と f の値によって以下のように動作します。
* s が true ならばスキャンポインタを進めます。
* s が false ならばスキャンポインタを進めません。
* f が true ならばマッチした部分文字列を返します。
* f が false ならばマッチした部分文字列の長さを返します。
マッチに失敗すると s や f に関係なく nil を返します。
このメソッドは s と f の組み合わせにより、
他のメソッドと同等の動作になります。
*... -
MatchData
# values _ at(*index) -> [String] (18949.0) -
正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。
0 番目は $& のようにマッチした文字列全体を表します。
@param index インデックスを整数またはシンボル(名前付きキャプチャの場合)で 0 個以上指定します。
//emlist[例][ruby]{
m = /(foo)(bar)(baz)/.match("foobarbaz")
# same as m.to_a.values_at(...)
p m.values_at(0, 1, 2, 3, 4) # => ["foobarbaz", "foo", "bar", "baz", nil]
p m... -
String
# slice(regexp , nth = 0) -> String (18793.0) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。
正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。
このメソッドを実行すると、
マッチ結果に関する情報が組み込み変数 $~ に設定されます。
@param regexp 取得したい文字列のパターンを示す正規表現
@param nth 取得したい正規表現レジスタのインデックス。整数
//emlist[例][ruby]{
p "foobar"[/b... -
String
# slice(regexp , name) -> String (18748.0) -
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返 します。
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
部分文字列を返します。正規表現が self にマッチしなかった場合は nil を返
します。
@param regexp 正規表現を指定します。
@param name 取得したい部分文字列のパターンを示す正規表現レジスタを示す名前
@raise IndexError name に対応する括弧がない場合に発生します。
//emlist[例][ruby]{
s = "FooBar"
s[/(?<foo>[A-Z]..)(?<bar>[A-Z]..)/] # => "FooBar"
s[/(... -
Regexp
. compile(string , option = nil , code = nil) -> Regexp (18721.0) -
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。
@param string 正規表現を文字列として与えます。
@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals... -
Symbol
# slice(regexp , nth = 0) -> String | nil (18685.0) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
(self.to_s[regexp, nth] と同じです。)
@param regexp 正規表現を指定します。
@param nth 取得したい正規表現レジスタのインデックスを指定します。
:foobar[/bar/] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 0] # => "barbaz"
:foobarbaz[/(ba.)(ba.)/, 1] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 2] # => "baz"
... -
Regexp
# fixed _ encoding? -> bool (18649.0) -
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返します。
//emlist[例][ruby]{
# -*- coding:utf-8 -*-
r = /a/
r.fixed_encoding? # => false
r.encoding # => #<Encoding:US-ASCII>
r =~ "\u{6666} a" # => 2
r =~ "\xa1\... -
OpenSSL
:: Buffering # gets(eol= $ / , limit=nil) -> String | nil (18637.0) -
通信路から一行読み込んで、それを返します。
通信路から一行読み込んで、それを返します。
行区切りは eol で指定した文字列/正規表現になります。
最大 limit バイトの文字列を返します。1 行がそれより
長い場合はそこで切られます。limit が nil の場合は
eol に到達するまで読み込みます。
読み込みが終端に到達した場合は nil を返します。
IO#gets と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現
@param limit 最大の読み込みバイト数 -
String
# slice(nth) -> String | nil (18628.0) -
nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。
nth 番目の文字を返します。
nth が負の場合は文字列の末尾から数えます。
つまり、 self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト
//emlist[例][ruby]{
p 'bar'[2] # => "r"
p 'bar'[2] == ?r # => true
p 'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'bar'[-4] ... -
String
# slice(nth , len) -> String | nil (18628.0) -
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。
@param nth 取得したい文字列の開始インデックスを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return nth が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
str0 = "bar"
str0[2, 1] #=> "r"
str0[2, 0] #=> ""
str0[2, 100] #=> "r" (右側を超えても... -
String
# slice(range) -> String (18628.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
=== rangeオブジェクトが終端を含む場合
インデックスと文字列の対応については以下の対照図も参照してください。
0 1 2 3 4 5 (インデックス)
-6 -5 -4 -3 -2 -1 (負のインデックス)
| a | b | c | d | e | f |
|<--------->| 'abcdef'[0..2] # => '... -
String
# slice(substr) -> String | nil (18628.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
substr を含まなければ nil を返します。
@param substr 取得したい文字列のパターン。文字列
//emlist[例][ruby]{
substr = "bar"
result = "foobar"[substr]
p result # => "bar"
p substr.equal?(result) # => false
//} -
Regexp
. last _ match(nth) -> String | nil (18622.0) -
整数 nth が 0 の場合、マッチした文字列を返します ($&)。それ以外では、nth 番目の括弧にマッチ した部分文字列を返します($1,$2,...)。 対応する括弧がない場合やマッチしなかった場合には nil を返し ます。
整数 nth が 0 の場合、マッチした文字列を返します
($&)。それ以外では、nth 番目の括弧にマッチ
した部分文字列を返します($1,$2,...)。
対応する括弧がない場合やマッチしなかった場合には nil を返し
ます。
//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match(0) # => "ab"
p Regexp.last_match(1) # => "a"
p Regexp.last_match(2) ... -
OpenSSL
:: Buffering # each(eol= $ / ) {|line| . . . } -> () (18619.0) -
現在の読み込み位置から1行ずつ文字列として読み込み、 それを引数としてブロックを呼び出します。
現在の読み込み位置から1行ずつ文字列として読み込み、
それを引数としてブロックを呼び出します。
IO#each と同様ですが、区切り文字列に
"" を渡した場合や、nil を渡したときの意味が異なり、
これらの場合は正しく動作しません。
@param eol 行区切り文字列/正規表現 -
Ripper
. slice(src , pattern , n = 0) -> String | nil (18619.0) -
Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
Ruby プログラム src のうち、
パターン pattern の n 番目の括弧にマッチする文字列を取り出します。
マッチしない場合は nil を返します。
@param src Ruby プログラムを文字列か IO オブジェクトで指定します。
@param pattern 取り出すプログラムのパターンを文字列で指定します。
@param n pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。
pattern は Ripper のイベント ID のリストを文字列で記... -
Symbol
# slice(nth) -> String | nil (18610.0) -
nth 番目の文字を返します。
nth 番目の文字を返します。
(self.to_s[nth] と同じです。)
@param nth 文字の位置を表す整数を指定します。
:foo[0] # => "f"
:foo[1] # => "o"
:foo[2] # => "o" -
Symbol
# slice(nth , len) -> String | nil (18610.0) -
nth 番目から長さ len の部分文字列を新しく作って返します。
nth 番目から長さ len の部分文字列を新しく作って返します。
(self.to_s[nth, len] と同じです。)
@param nth 文字の位置を表す整数を指定します。
@param len 文字列の長さを指定します。
:foo[1, 2] # => "oo" -
Symbol
# slice(range) -> String | nil (18610.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
(self.to_s[range] と同じです。)
@param range 取得したい文字列の範囲を示す Range オブジェクトを指定します。
:foo[0..1] # => "fo"
@see String#[] , String#slice -
Symbol
# slice(substr) -> String | nil (18610.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
(self.to_s[substr] と同じです。)
例:
:foobar.slice("foo") # => "foo"
:foobar.slice("baz") # => nil -
Net
:: Telnet # waitfor(opt) -> String|nil (9739.0) -
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
opt に正規表現を指定した場合には、それにマッチするまで読みこみます。
opt にハッシュを指定した場合には、以下のオプションを指定できます。
"Match" 待ち合わせたい正規表現を指定します。
"Prompt" "Match"と同じです。"Match"が指定されなかった場合にのみ使われます。
"String" "Match"と似ていますが、与えられた String のインスタンスに
完全に一致するデータを待ち合わせます。"Match"も"Prompt"も指定されなかった
場合にのみ利用されます。
"T... -
Net
:: Telnet # waitfor(opt) {|buf| . . . } -> String|nil (9739.0) -
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
opt に正規表現を指定した場合には、それにマッチするまで読みこみます。
opt にハッシュを指定した場合には、以下のオプションを指定できます。
"Match" 待ち合わせたい正規表現を指定します。
"Prompt" "Match"と同じです。"Match"が指定されなかった場合にのみ使われます。
"String" "Match"と似ていますが、与えられた String のインスタンスに
完全に一致するデータを待ち合わせます。"Match"も"Prompt"も指定されなかった
場合にのみ利用されます。
"T... -
Regexp
. new(string , option = nil , code = nil) -> Regexp (9721.0) -
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
文字列 string をコンパイルして正規表現オブジェクトを生成して返します。
第一引数が正規表現であれば第一引数を複製して返します。第二、第三引数は警告の上無視されます。
@param string 正規表現を文字列として与えます。
@param option Regexp::IGNORECASE, Regexp::MULTILINE,
Regexp::EXTENDED
の論理和を指定します。
Integer 以外であれば真偽値の指定として見なされ
、真(nil, fals... -
String
# =~(other) -> Integer | nil (9685.0) -
正規表現 other とのマッチを行います。 マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
正規表現 other とのマッチを行います。
マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
other が正規表現でも文字列でもない場合は
other =~ self を行います。
このメソッドが実行されると、組み込み変数 $~, $1, ...
にマッチに関する情報が設定されます。
@param other 正規表現もしくは =~ メソッドを持つオブジェクト
@raise TypeError other が文字列の場合に発生します。
//emlist[例][ruby]{
p "string" =~ /str/ # =... -
Symbol
# [](regexp , nth = 0) -> String | nil (9685.0) -
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。
(self.to_s[regexp, nth] と同じです。)
@param regexp 正規表現を指定します。
@param nth 取得したい正規表現レジスタのインデックスを指定します。
:foobar[/bar/] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 0] # => "barbaz"
:foobarbaz[/(ba.)(ba.)/, 1] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 2] # => "baz"
... -
StringScanner
# [](nth) -> String | nil (9667.0) -
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。インデックス 0 はマッチした部分全体です。前回のマッチが
失敗していると常に nil を返します。
@param nth 前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を
返します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.scan(/\w(\w)(\w*)/) # => "test"
s[0] # => "test"... -
StringScanner
# scan(regexp) -> String | nil (9667.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタを進めて正規表現にマッチした
部分文字列を返します。マッチしなかったら 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(/... -
Kernel
$ $ & -> String | nil (9649.0) -
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。 最後のマッチが失敗していた場合には nil となります。
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。
最後のマッチが失敗していた場合には nil となります。
Regexp.last_match[0] と同じです。
この変数はローカルスコープかつスレッドローカル、読み取り専用です。
Ruby起動時の初期値は nil です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
p $&
end
#=> "<a href=... -
Kernel
$ $ & # 39; -> String | nil (9649.0) -
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より後ろの文字列です。 最後のマッチが失敗していた場合には nil となります。
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした
部分より後ろの文字列です。
最後のマッチが失敗していた場合には nil となります。
Regexp.last_match.post_match と同じです。
この変数はローカルスコープかつスレッドローカル、読み取り専用です。
Ruby起動時の初期値は nil です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
p $'
en... -
Kernel
$ $ + -> String | nil (9649.0) -
現在のスコープで最後に成功した正規表現のパターンマッチで マッチした中で最後の括弧に対応する部分文字列です。
現在のスコープで最後に成功した正規表現のパターンマッチで
マッチした中で最後の括弧に対応する部分文字列です。
最後のマッチが失敗していた場合には nil。
いくつかある選択型のパターンのどれがマッチしたのか分からない時に便利です。
この変数はローカルスコープかつスレッドローカルです。 -
Kernel
$ $ ` -> String | nil (9649.0) -
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より前の文字列です。 最後のマッチが失敗していた場合には nil となります。
現在のスコープで最後に成功した正規表現のパターンマッチでマッチした
部分より前の文字列です。
最後のマッチが失敗していた場合には nil となります。
Regexp.last_match.pre_match と同じです。
この変数はローカルスコープかつスレッドローカル、読み取り専用です。
Ruby起動時の初期値は nil です。
//emlist[例][ruby]{
str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
p $`
end
... -
Symbol
# =~(other) -> Integer | nil (9649.0) -
正規表現 other とのマッチを行います。
正規表現 other とのマッチを行います。
(self.to_s =~ other と同じです。)
@param other 比較対象のシンボルを指定します。
@return マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。
p :foo =~ /foo/ # => 0
p :foobar =~ /bar/ # => 3
p :foo =~ /bar/ # => nil
@see String#=~ -
Symbol
# match(other) -> Integer | nil (9649.0) -
正規表現 other とのマッチを行います。
正規表現 other とのマッチを行います。
(self.to_s.match(other) と同じです。)
@param other 比較対象のシンボルを指定します。
@return マッチが成功すればマッチした位置を、そうでなければ nil を返します。
p :foo.match(/foo/) # => 0
p :foobar.match(/bar/) # => 3
p :foo.match(/bar/) # => nil
@see String#match -
String
# gsub(pattern , replace) -> String (9640.0) -
文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチする部分全てを
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定した... -
String
# sub(pattern , replace) -> String (9640.0) -
文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成して返します。
文字列中で pattern にマッチした最初の部分を
文字列 replace で置き換えた文字列を生成して返します。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@param replace pattern で指定し... -
String
# [](nth) -> String | nil (9628.0) -
nth 番目の文字を返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目の文字を返します。
nth 番目の文字を返します。
nth が負の場合は文字列の末尾から数えます。
つまり、 self.size + nth 番目の文字を返します。
nth が範囲外を指す場合は nil を返します。
@param nth 文字の位置を表す整数
@return 指定した位置の文字を表す String オブジェクト
//emlist[例][ruby]{
p 'bar'[2] # => "r"
p 'bar'[2] == ?r # => true
p 'bar'[-1] # => "r"
p 'bar'[3] # => nil
p 'bar'[-4] ... -
String
# [](nth , len) -> String | nil (9628.0) -
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。
nth 文字目から長さ len 文字の部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。
@param nth 取得したい文字列の開始インデックスを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return nth が範囲外を指す場合は nil を返します。
//emlist[例][ruby]{
str0 = "bar"
str0[2, 1] #=> "r"
str0[2, 0] #=> ""
str0[2, 100] #=> "r" (右側を超えても... -
String
# [](substr) -> String | nil (9628.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
substr を含まなければ nil を返します。
@param substr 取得したい文字列のパターン。文字列
//emlist[例][ruby]{
substr = "bar"
result = "foobar"[substr]
p result # => "bar"
p substr.equal?(result) # => false
//} -
Kernel
$ $ -0 -> String | nil (9619.0) -
入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。
入力レコード区切りを表す文字列です。
awk の RS 変数のように働きます。
Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。
Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が既定値となります。そうでないとき、既定値は "\n" です。
この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。
空文字列 "" を設定するとパラグラフモードとみなされ、
2 つ以上連続した改行が「行」の区切りになります。
$/ には正規表現は使えません。
この変数はグローバルスコープです。
... -
Kernel
$ $ -F -> Regexp | String | nil (9619.0) -
String#split で引数を省略した場合の区切り文字です。
String#split で引数を省略した場合の区切り文字です。
Ruby 2.7からは nil 以外に変更することは非推奨になったため、
nil 以外を代入すると警告がでるようになりました。
nilを設定すると特殊な分割を行います。
詳細は String#split を参照してください。
コマンドラインオプション -F を指定して Ruby を起動した場合、
初期値は -F で指定した値です。
それ以外の時には初期値は nil です。
$; には任意のオブジェクトを代入できます。
ただし、String#split の仕様変更を考慮すると
常に正規表現を指定すべきです。
Ruby ... -
Kernel
$ $ / -> String | nil (9619.0) -
入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。
入力レコード区切りを表す文字列です。
awk の RS 変数のように働きます。
Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。
Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が既定値となります。そうでないとき、既定値は "\n" です。
この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。
空文字列 "" を設定するとパラグラフモードとみなされ、
2 つ以上連続した改行が「行」の区切りになります。
$/ には正規表現は使えません。
この変数はグローバルスコープです。
... -
Kernel
$ $ ; -> Regexp | String | nil (9619.0) -
String#split で引数を省略した場合の区切り文字です。
String#split で引数を省略した場合の区切り文字です。
Ruby 2.7からは nil 以外に変更することは非推奨になったため、
nil 以外を代入すると警告がでるようになりました。
nilを設定すると特殊な分割を行います。
詳細は String#split を参照してください。
コマンドラインオプション -F を指定して Ruby を起動した場合、
初期値は -F で指定した値です。
それ以外の時には初期値は nil です。
$; には任意のオブジェクトを代入できます。
ただし、String#split の仕様変更を考慮すると
常に正規表現を指定すべきです。
Ruby ... -
Kernel
. # gsub(pattern , replace) -> String (9619.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # sub(pattern , replace) -> String (9619.0) -
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.sub を使ってください。
@raise ArgumentError replace を指定しなかった場合に発生します。
$_.sub とこのメソッド sub は以下の点で違いがあります。
* sub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param patter... -
Rake
:: FileList # egrep(pattern) {|filename , count , line| . . . } (9619.0) -
与えられたパターンをファイルリストから grep のように検索します。
与えられたパターンをファイルリストから grep のように検索します。
ブロックが与えられた場合は、マッチした行の情報 (ファイル名、行番号、マッチした行) が
ブロックに渡されてブロックが評価されます。ブロックが与えられなかった場合は、
標準出力に、ファイル名:行番号:マッチした行を出力します。
@param pattern 正規表現を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("sample1", "line1\nline2\nline3\n")
IO.write("sample2", "line1\nline2\n... -
String
# pathmap(spec = nil) { . . . } -> String (9619.0) -
与えられた書式指定文字列に応じてパス(自身)を変換します。
与えられた書式指定文字列に応じてパス(自身)を変換します。
与えられた書式指定文字列は変換の詳細を制御します。
指定できる書式指定文字列は以下の通りです。
: %p
完全なパスを表します。
: %f
拡張子付きのファイル名を表します。ディレクトリ名は含まれません。
: %n
拡張子なしのファイル名を表します。
: %d
パスに含まれるディレクトリのリストを表します。
: %x
パスに含まれるファイルの拡張子を表します。拡張子が無い場合は空文字列を表します。
: %X
拡張子以外すべてを表します。
: %s
定義されていれば、代替のファイルセパレータを表します。... -
StringScanner
# check(regexp) -> String | nil (9619.0) -
現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。
現在位置から regexp とのマッチを試みます。
マッチに成功したらマッチした部分文字列を返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.check(/\w+/) # => "test"
s.pos # => 0
s.matched # => "test"
s.check(... -
StringScanner
# exist?(regexp) -> Integer | nil (9619.0) -
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
スキャンポインタの位置から,次にマッチする文字列の末尾までの長さを返します。
マッチに失敗したら nil を返します。
このメソッドはマッチが成功してもスキャンポインタを進めません。
@param regexp マッチに用いる正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.exist?(/s/) # => 3
s.exist?(//) # => 0
s.scan(/\w+/) # => "test"
s.exist?(/s/) # => 2
s.exis... -
StringScanner
# match?(regexp) -> Integer | nil (9619.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたら、スキャンポインタは進めずにマッチした
部分文字列の長さを返します。マッチしなかったら nil を
返します。
マッチしたサイズは文字単位でなくバイト単位となります。
//emlist[][ruby]{
require 'strscan'
def case1(encode)
utf8 = "\u{308B 3073 3044}"
s = StringScanner.new(utf8.encode(encode))
s.match?(/#{"\u{308B}".encode(encode)}/)... -
StringScanner
# skip(regexp) -> Integer | nil (9619.0) -
スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。
スキャンポインタの地点だけで regexp と文字列のマッチを試します。
マッチしたらスキャンポインタを進めマッチした部分文字列の
長さを返します。マッチしなかったら nil を返します。
@param regexp マッチに使用する正規表現を指定します。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
p s.skip(/\w+/) #=> 4
p s.skip(/\w+/) #=> nil
p s.skip(/\s+/) #=> 1
p s.skip(/\w+/) #=... -
Symbol
# [](nth) -> String | nil (9610.0) -
nth 番目の文字を返します。
nth 番目の文字を返します。
(self.to_s[nth] と同じです。)
@param nth 文字の位置を表す整数を指定します。
:foo[0] # => "f"
:foo[1] # => "o"
:foo[2] # => "o" -
Symbol
# [](nth , len) -> String | nil (9610.0) -
nth 番目から長さ len の部分文字列を新しく作って返します。
nth 番目から長さ len の部分文字列を新しく作って返します。
(self.to_s[nth, len] と同じです。)
@param nth 文字の位置を表す整数を指定します。
@param len 文字列の長さを指定します。
:foo[1, 2] # => "oo" -
Symbol
# [](range) -> String | nil (9610.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
rangeで指定したインデックスの範囲に含まれる部分文字列を返します。
(self.to_s[range] と同じです。)
@param range 取得したい文字列の範囲を示す Range オブジェクトを指定します。
:foo[0..1] # => "fo"
@see String#[] , String#slice -
Symbol
# [](substr) -> String | nil (9610.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
(self.to_s[substr] と同じです。)
例:
:foobar.slice("foo") # => "foo"
:foobar.slice("baz") # => nil -
String
# []=(regexp , nth , val) (9421.0) -
正規表現 regexp の nth 番目の括弧にマッチする 最初の部分文字列を文字列 val で置き換えます。
正規表現 regexp の nth 番目の括弧にマッチする
最初の部分文字列を文字列 val で置き換えます。
nth が 0 の場合は、マッチした部分文字列全体を val で置き換えます。
@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param nth 置き換えたい部分文字列のパターンを示す正規表現レジスタの番号
@param val 指定範囲の部分文字列と置き換えたい文字列
@return val を返します。
@raise IndexError 正規表現がマッチしなかった場合に発生します。
//emlist[例]... -
String
# []=(regexp , name , val) (9406.0) -
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の 部分文字列を文字列 val で置き換えます。
正規表現 regexp の name で指定した名前付きキャプチャにマッチする最初の
部分文字列を文字列 val で置き換えます。
@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param name 置き換えたい部分文字列のパターンを示す正規表現レジスタを示す名前
@param val 指定範囲の部分文字列と置き換えたい文字列
@return val を返します。
@raise IndexError name で指定した名前付きキャプチャが存在しない場合に発
生します。
//emlist[... -
String
# []=(regexp , val) (9406.0) -
正規表現 regexp にマッチした部分文字列全体を val で置き換えます。
正規表現 regexp にマッチした部分文字列全体を val で置き換えます。
@param regexp 置き換えたい部分文字列のパターンを示す正規表現
@param val 置き換えたい文字列
@return val を返します。
@raise IndexError 正規表現がマッチしなかった場合に発生します。
//emlist[例][ruby]{
buf = "string"
buf[/tr../] = "!!"
p buf # => "s!!g"
//} -
MiniTest
:: Assertions # assert _ match(regexp , str , message = nil) -> true (9403.0) -
与えられた文字列が与えられた正規表現にマッチした場合、検査にパスしたことになります。
与えられた文字列が与えられた正規表現にマッチした場合、検査にパスしたことになります。
@param regexp 正規表現か文字列を指定します。文字列を指定した場合は文字列そのものにマッチする
正規表現に変換してから使用します。
@param str 検査対象の文字列を指定します。
@param message 検査に失敗した場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest... -
String
# match(regexp , pos = 0) -> MatchData | nil (9385.0) -
regexp.match(self, pos) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。
regexp.match(self, pos) と同じです。
regexp が文字列の場合は、正規表現にコンパイルします。
詳しくは Regexp#match を参照してください。
//emlist[例: regexp のみの場合][ruby]{
'hello'.match('(.)\1') # => #<MatchData "ll" 1:"l">
'hello'.match('(.)\1')[0] # => "ll"
'hello'.match(/(.)\1/)[0] # => "ll"
'hello'.match('xx') # => nil
//}
... -
String
# gsub!(pattern , replace) -> self | nil (9376.0) -
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
gsub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く... -
String
# sub!(pattern , replace) -> self | nil (9376.0) -
文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。
文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。
置換文字列 replace 中の \& と \0 はマッチした部分文字列に、
\1 ... \9 は n 番目の括弧の内容に置き換えられます。
置換文字列内では \`、\'、\+ も使えます。
これらは $`、$'、$+ に対応します。
sub! は通常 self を変更して返しますが、
置換が起こらなかった場合は nil を返します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く... -
String
# scan(pattern) {|s| . . . } -> self (9373.0) -
pattern がマッチした部分文字列をブロックに渡して実行します。 pattern が正規表現で括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。
pattern がマッチした部分文字列をブロックに渡して実行します。
pattern が正規表現で括弧を含む場合は、
括弧で括られたパターンにマッチした文字列の配列を渡します。
@param pattern 探索する部分文字列または正規表現
//emlist[例][ruby]{
"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
# "bar"
# "baz"
# "bar"
# "baz"
"foobarbazfoobarbaz".scan("ba") {|s| p s }
# "ba"
# "ba"
# "ba"
# "ba"
"foobarb... -
Net
:: Telnet # cmd(opts) -> String (9355.0) -
コマンドをホストに送ります。
コマンドをホストに送ります。
より正確にいうと、文字列をホストに送り、プロンプト、もしくは指定した
正規表現にマッチするまでホストからのデータを読み込みます。
ブロックを指定した場合、ホストからの文字列を引数にブロックを逐次実行します。
ホストから受け取った文字列を返します。
opts が文字列であれば、その文字列をホストに送り、
デフォルトオプションでプロンプトを待ちます。
opts がハッシュである場合には、送る文字列とオプションを指定することができます。
その場合には以下の
"String" 送る文字列です。必ず指定する必要があります。
"Match" ホストからのデータを... -
Net
:: Telnet # cmd(opts) {|mesg| . . . } -> String (9355.0) -
コマンドをホストに送ります。
コマンドをホストに送ります。
より正確にいうと、文字列をホストに送り、プロンプト、もしくは指定した
正規表現にマッチするまでホストからのデータを読み込みます。
ブロックを指定した場合、ホストからの文字列を引数にブロックを逐次実行します。
ホストから受け取った文字列を返します。
opts が文字列であれば、その文字列をホストに送り、
デフォルトオプションでプロンプトを待ちます。
opts がハッシュである場合には、送る文字列とオプションを指定することができます。
その場合には以下の
"String" 送る文字列です。必ず指定する必要があります。
"Match" ホストからのデータを... -
String
# []=(nth , len , val) (9331.0) -
nth 番目の文字から len 文字の部分文字列を文字列 val で置き換えます。
nth 番目の文字から len 文字の部分文字列を文字列 val で置き換えます。
len が0 の場合は、単にnthの位置から文字列の追加が行われます。
nth が負の場合は文字列の末尾から数えます。
@param nth 置き換えたい部分文字列の開始インデックス
@param len 置き換えたい部分文字列の長さ
@param val 指定範囲の部分文字列と置き換える文字列
@return val を返します。
//emlist[例][ruby]{
buf = "string"
buf[1, 4] = "!!"
p buf # => "s!!g"
buf ... -
String
# []=(nth , val) (9331.0) -
nth 番目の文字を文字列 val で置き換えます。
nth 番目の文字を文字列 val で置き換えます。
@param nth 置き換えたい文字の位置を指定します。
@param val 置き換える文字列を指定します。
@return val を返します。
//emlist[例][ruby]{
buf = "string"
buf[1] = "!!"
p buf # => "s!!ring"
//} -
String
# []=(range , val) (9331.0) -
rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。
rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。
@param range 置き換えたい範囲を示す Range オブジェクト
@return val を返します。 -
String
# []=(substr , val) (9331.0) -
文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。
文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。
@param substr 置き換えたい部分文字列のパターンを示す文字列
@param val 指定範囲の部分文字列と置き換える文字列
@return val を返します。
@raise IndexError self が部分文字列 substr を含まない場合に発生します。
//emlist[例][ruby]{
buf = "string"
buf["trin"] = "!!"
p buf # => "s!!g"
buf = "string"
buf["nosuch... -
String
# gsub!(pattern) {|matched| . . . . } -> self | nil (9331.0) -
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。
文字列中で pattern にマッチする部分全てを順番にブロックに渡し、
その評価結果に置き換えます。
また、ブロックなしの場合と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.gsub!(/b/) {|s| s.u... -
String
# sub!(pattern) {|matched| . . . . } -> self | nil (9331.0) -
文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果へ破壊的に置き換えます。
文字列中で pattern にマッチした最初の部分をブロックに渡し、
その評価結果へ破壊的に置き換えます。
また、ブロックなしの sub と違い、ブロックの中からは
組み込み変数 $1, $2, $3, ... を問題なく参照できます。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
文字列を指定した場合は全く同じ文字列にだけマッチする
@return 置換した場合は self、置換しなかった場合は nil
//emlist[例][ruby]{
str = 'abcabc'
str.sub!(/b/) {|s|... -
Kernel
. # gsub(pattern) {|matched| . . . } -> String (9319.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # sub(pattern) {|matched| . . . } -> String (9319.0) -
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.sub を使ってください。
@raise ArgumentError replace を指定しなかった場合に発生します。
$_.sub とこのメソッド sub は以下の点で違いがあります。
* sub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param patter... -
MiniTest
:: Unit # run _ test _ suites(filter = / . / ) -> Array (9319.0) -
全てのテストを実行します。
全てのテストを実行します。
@param filter 実行するテストメソッド名を正規表現で指定します。
@return テストケース数とアサーション数を返します。 -
WEBrick
:: HTTPUtils . # escape(str) -> String (9319.0) -
与えられた文字列を数値参照文字列に変換します。
与えられた文字列を数値参照文字列に変換します。
以下の正規表現を使用して変換します。
control = (0x0..0x1f).collect{|c| c.chr }.join + "\x7f"
space = " "
delims = '<>#%"'
unwise = '{}|\\^[]`'
nonascii = (0x80..0xff).collect{|c| c.chr }.join
/[#{Regexp.escape(control + space + delims + unwise + nonascii)}]/n
@param str... -
WEBrick
:: HTTPUtils . # escape _ path(str) -> String (9319.0) -
与えられた文字列を数値参照文字列に変換します。
与えられた文字列を数値参照文字列に変換します。
以下の正規表現を使用して変換します。
num = '0123456789'
lowalpha = 'abcdefghijklmnopqrstuvwxyz'
upalpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
mark = '-_.!~*\'()'
unreserved = num + lowalpha + upalpha + mark
/[^#{Regexp.escape(unreserved + ":@&=+$,")}]/n
@param str 文字列を指定します。... -
String
# gsub!(pattern , hash) -> self | nil (9316.0) -
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
文字列中の pattern にマッチした部分をキーにして hash を引いた値へ破壊的に置き換えます。
@param pattern 置き換える文字列のパターン
@param hash 置き換える文字列を与えるハッシュ
//emlist[例][ruby]{
hash = {'b'=>'B', 'c'=>'C'}
str = "abcabc"
str.gsub!(/[bc]/){hash[$&]}
p str #=> "aBCaBC"
str = "abcabc"
str.gsub!(/[bc]/, hash)
p str #=> "aBCaBC"
//... -
Ruby用語集 (9289.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based
番号が 0 から始まること。
例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。
: 1 オリジン
: one-based
... -
制御構造 (9163.0)
-
制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END
制御構造
条件分岐:
* if
* unless
* case
繰り返し:
* while
* until
* for
* break
* next
* redo
* retry
例外処理:
* raise
* begin
その他:
* return
* BEGIN
* END
Rubyでは(Cなどとは異なり)制御構造は式であって、何らかの値を返すものが
あります(返さないものもあります。値を返さない式を代入式の右辺に置くと
syntax error になります)。
R... -
String
# match(regexp , pos = 0) {|m| . . . } -> object (9085.0) -
regexp.match(self, pos) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。
regexp.match(self, pos) と同じです。
regexp が文字列の場合は、正規表現にコンパイルします。
詳しくは Regexp#match を参照してください。
//emlist[例: regexp のみの場合][ruby]{
'hello'.match('(.)\1') # => #<MatchData "ll" 1:"l">
'hello'.match('(.)\1')[0] # => "ll"
'hello'.match(/(.)\1/)[0] # => "ll"
'hello'.match('xx') # => nil
//}
... -
Regexp
# =~(string) -> Integer | nil (949.0) -
文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。
文字列 string との正規表現マッチを行います。マッチした場合、
マッチした位置のインデックスを返します(先頭は0)。マッチしなかった
場合、あるいは string が nil の場合には nil を返
します。
//emlist[例][ruby]{
p /foo/ =~ "foo" # => 0
p /foo/ =~ "afoo" # => 1
p /foo/ =~ "bar" # => nil
//}
組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。
文字列のかわりにSymbolをマッチさせることが... -
Test
:: Unit . setup _ argv(original _ argv = ARGV) { |files| . . . } -> [String] (937.0) -
original_argvで指定されたオプションを解析して、テスト対象になるファイル をrequireします。
original_argvで指定されたオプションを解析して、テスト対象になるファイル
をrequireします。
@param original_argv オプションを指定します。省略された場合は、
Object::ARGVが使用されます。
@raise ArgumentError 指定されたファイルが存在しない場合に発生します。
ブロックが指定された場合にはブロックを評価して、その結果をrequireの対象
にします。
ブロックパラメータには上記のoriginal_argvから-xで指定されたもの以外のオ
プションが配列で渡されます。ファイル... -
MatchData
# offset(name) -> [Integer , Integer] | [nil , nil] (919.0) -
name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返 します。
name という名前付きグループに対応する部分文字列のオフセットの配列 [start, end] を返
します。
//emlist[例][ruby]{
[ self.begin(name), self.end(name) ]
//}
と同じです。nameの名前付きグループにマッチした部分文字列がなければ
[nil, nil] を返します。
@param name 名前(シンボルか文字列)
@raise IndexError 正規表現中で定義されていない name を指定した場合に発生します。
//emlist[例][ruby]{
/(?<year>\d{4})年(?<month>\... -
MatchData
# offset(n) -> [Integer , Integer] | [nil , nil] (904.0) -
n 番目の部分文字列のオフセットの配列 [start, end] を返 します。
n 番目の部分文字列のオフセットの配列 [start, end] を返
します。
//emlist[例][ruby]{
[ self.begin(n), self.end(n) ]
//}
と同じです。n番目の部分文字列がマッチしていなければ
[nil, nil] を返します。
@param n 部分文字列を指定する数値
@raise IndexError 範囲外の n を指定した場合に発生します。
@see MatchData#begin, MatchData#end -
Regexp
# ===(string) -> bool (649.0) -
文字列 string との正規表現マッチを行います。 マッチした場合は真を返します。
文字列 string との正規表現マッチを行います。
マッチした場合は真を返します。
string が文字列でもシンボルでもない場合には false を返します。
このメソッドは主にcase文での比較に用いられます。
@param string マッチ対象文字列
//emlist[例][ruby]{
a = "HELLO"
case a
when /\A[a-z]*\z/; puts "Lower case"
when /\A[A-Z]*\z/; puts "Upper case"
else; puts "Mixed case"
end
# => Upper ...