regexp
文字列内で、正規表現に一致する部分文字列を検索 (および抽出) します
呼び出し手順
[start, final, match, foundString] = regexp(input, pattern) [start, final, match, foundString] = regexp(input, pattern, "once")
引数
- input
文字列.
- pattern
(正規表現の規則に基づく)文字列
- start
正規表現文字列
pattern
に 一致するinput
の各部分文字列の 開始添字- final
正規表現文字列
pattern
に 一致するinput
の各部分文字列の 終端添字- match
pattern
に一致するinput
の各部分文字列のテキスト.- match
pattern
にマッチするinput
の部分文字列のテキスト.- foundString
取得された括弧で括られた
サブパターン
.- "once" | "o" flag
パターンに一回マッチする場合は,
'o'
.
説明
Perl言語に似た正規表現の規則. すぐに始めるには, http://perldoc.perl.org/perlrequick.htmlを参照ください. より詳細なチュートリアルについては, http://perldoc.perl.org/perlretut.htmlを参照ください. また,リファレンスについてはhttp://perldoc.perl.org/perlre.htmlを参照ください.
Perlとの違いは,Perlでは文字ではない位置
(例えば,/^/
または/(?=o)/
)
にPerlではマッチできますが,Scilabではできません.
例
regexp('xabyabbbz','/ab*/','o') regexp('a!','/((((((((((a))))))))))\041/') regexp('ABCC','/^abc$/i') regexp('ABC','/ab|cd/i') [a b c]=regexp('XABYABBBZ','/ab*/i') piString="3.14" [a,b,c,piStringSplit]=regexp(piString,"/(\d+)\.(\d+)/") disp(piStringSplit(1)) disp(piStringSplit(2)) [a,b,c,d]=regexp('xabyabbbz','/ab(.*)b(.*)/') size(d) // URLからホスト名を取得 myURL="https://www.scilab.org/download/"; [a,b,c,d]=regexp(myURL,'@^(?:http://)?([^/]+)@i') str='foobar: 2012'; // 名前のあるサブパターンを使用 [a,b,c,d]=regexp(str,'/(?P<name>\w+): (?P<digit>\d+)/') d(1)=="foobar" d(2)=="2012"
参照
- strindex — 他の文字列の中で指定した文字列の位置を探す.
履歴
バージョン | 記述 |
5.4.0 | サブパターンマッチの結果を取得するために 新しい出力引数, foundString, が追加されました. |
Report an issue | ||
<< prettyprint | Strings | sci2exp >> |