- Scilabヘルプ
- Strings
- ascii
- asciimat
- blanks
- char
- convstr
- emptystr
- evstr
- grep
- isalphanum
- isascii
- isdigit
- isletter
- isnum
- justify
- length
- part
- prettyprint
- regexp
- sci2exp
- strcat
- strchr
- strcmp
- strcspn
- strindex
- string
- stripblanks
- strncpy
- strrchr
- strrev
- strsplit
- strspn
- strstr
- strsubst
- strtod
- strtok
- tokenpos
- tokens
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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="http://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 >> |