File: grep.xml

package info (click to toggle)
scilab 5.2.2-9
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 334,832 kB
  • ctags: 52,586
  • sloc: xml: 526,945; ansic: 223,590; fortran: 163,080; java: 56,934; cpp: 33,840; tcl: 27,936; sh: 20,397; makefile: 9,908; ml: 9,451; perl: 1,323; cs: 614; lisp: 30
file content (149 lines) | stat: -rw-r--r-- 4,526 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) INRIA
 *
 * This file must be used under the terms of the CeCILL.
 * This source file is licensed as described in the file COPYING, which
 * you should have received as part of this distribution.  The terms
 * are also available at
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 -->
<refentry version="5.0-subset Scilab" xml:id="grep" xml:lang="en"
          xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:svg="http://www.w3.org/2000/svg"
          xmlns:ns5="http://www.w3.org/1999/xhtml"
          xmlns:mml="http://www.w3.org/1998/Math/MathML"
          xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <pubdate>$LastChangedDate: 2008-01-07 16:57:13 +0200 (Mon, 07 Jan
    2008)$</pubdate>
  </info>

  <refnamediv>
    <refname>grep</refname>

    <refpurpose>find matches of a string in a vector of strings</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <title>Calling Sequence</title>

    <synopsis>row=grep(haystack,needle )
[row,which]=grep(haystack,needle )
row=grep(haystack,needle ,[flag])
[row,which]=grep(haystack,needle ,[flag])</synopsis>
  </refsynopsisdiv>

  <refsection>
    <title>Parameters</title>

    <variablelist>
      <varlistentry>
        <term>haystack</term>

        <listitem>
          <para>A Row vector of character strings.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>needle</term>

        <listitem>
          <para>A character string or a row vector of character strings . The
          string(s) to search in <literal>haystack.</literal></para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>row</term>

        <listitem>
          <para>vector of indices: row where a match has been found or an
          empty matrix if no match found.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>which</term>

        <listitem>
          <para>vector of indices: index of needle string found or an empty
          matrix if no match found.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>flag</term>

        <listitem>
          <para>Character ("r" for regular expression)</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsection>

  <refsection>
    <title>Description</title>

    <para>Foreach entry of <literal>haystack </literal>, grep searches if at
    least a string in <literal>needle</literal> which matches a substring.
    The <literal>haystack</literal> entries index where at least a match has
    been found are returned in the <literal>row</literal> output argument.
    The optionnal <literal>which</literal> output argument gives the index
    of first string of <literal>needle</literal> found.</para>

    <para>When using the third parameter <literal>flag="r"</literal>, the
    <literal>needle</literal> is expected to be a regular expression string.
    In this case, <literal>grep</literal> uses the
    <literal>needle</literal> as a regular expression and compares it
    against <literal>haystack</literal> according to the regular express
    rules. See the <link linkend="regexp">regexp</link> function for details about
    regular expressions.</para>
  </refsection>

  <refsection>
    <title>Example #1</title>

    <para>In the following example, we search one or two strings in a text,
    which is stored in the <literal>txt</literal> variable.</para>

    <programlisting role="example"><![CDATA[ 
txt=['find matches of a string in a vector of strings'
     'search position of a character string in an other string'
     'Compare Strings'];

grep(txt,'strings')
grep(txt,['strings' 'Strings'])

[r,w]=grep(txt,['strings' 'Strings'])
 ]]></programlisting>
  </refsection>

  <refsection>
    <title>Example #2</title>

    <para>In the following example, we perform regexp searches.</para>

    <programlisting role="example"><![CDATA[ 
str = ["hat";"cat";"hhat";"chat";"hcat";"ccchat";"at";"dog"]

grep(str,'/[hc]+at/','r')
grep(str,'/[hc]?at/','r')
grep(str,'/cat|dog/','r')
 ]]></programlisting>
  </refsection>

  <refsection>
    <title>See Also</title>

    <simplelist type="inline">
      <member><link linkend="strindex">strindex</link></member>

      <member><link linkend="regexp">regexp</link></member>
    </simplelist>
  </refsection>
</refentry>