Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.1 - 日本語

Change language to:
English - Français - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilabヘルプ >> Strings > regexp

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 >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:37:53 CET 2022