File: regex.cc

package info (click to toggle)
c%2B%2B-annotations 8.2.0-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 11,804 kB
  • ctags: 2,845
  • sloc: cpp: 15,418; makefile: 2,473; ansic: 165; perl: 90; sh: 29
file content (27 lines) | stat: -rw-r--r-- 957 bytes parent folder | download | duplicates (4)
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
#include <regex>
#include <iostream>
using namespace std;

int main()
{
        const char *reg_esp = "[ ,.\\t\\n;:]" ;  // List of separator characters.

        regex rgx(reg_esp) ;  // 'regex' is an instance of the template class
                              // 'basic_regex' with argument of type 'char'.
        cmatch match ;  // 'cmatch' is an instance of the template class
                        // 'match_results' with argument of type 'const char *'.
        const char *target = "Polytechnic University of Turin " ;

        // Identifies all words of 'target' separated by characters of 'reg_esp'.
        if( regex_search( target, match, rgx ) )
        {
          // If words separated by specified characters are present.

          const size_t n = match.size();
          for( size_t a = 0 ; a < n ; a++ )
          {
            string str( match[a].first, match[a].second ) ;
            cout << str << "\n" ;
          }
        }
}