Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Français


regexp

find a substring that matches the regular expression string

Syntax

[start, final, match, foundString] = regexp(input, pattern)
[start, final, match, foundString] = regexp(input, pattern, "once")

Arguments

input

a string.

pattern

a character string (under the rules of regular expression).

start

the starting index of each substring of input that matches the regular expression string pattern.

final

the ending index of each substring of input that matches the regular expression string pattern.

match

the text of each substring of input that matches pattern.

foundString

the captured parenthesized subpatterns.

"once | "o" flag

'o' for matching the pattern only once.

Description

The rules of regular expression are similar to Perl language. For a quick start, see http://perldoc.perl.org/perlrequick.html. For a more in-depth tutorial on, see http://perldoc.perl.org/perlretut.html and for the reference page, see http://perldoc.perl.org/perlre.html

A difference with Perl is that matching a position but no character (for example, with /^/ or /(?=o)/) is a successful match in Perl but not in Scilab.

Examples

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)

// get host name from URL
myURL="https://www.scilab.org/download/";
[a,b,c,d]=regexp(myURL,'@^(?:http://)?([^/]+)@i')

str='foobar: 2012';
// Using named subpatterns
[a,b,c,d]=regexp(str,'/(?P<name>\w+): (?P<digit>\d+)/')
d(1)=="foobar"
d(2)=="2012"

See also

  • strindex — search position of a character string in another string

History

VersionDescription
5.4.0 A new output argument, foundString, has been added to retrieve subpatterns matches.
Report an issue
<< prettyprint Chaînes de caractères 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:
Tue Oct 24 14:34:15 CEST 2023