File: regex.OBS

package info (click to toggle)
c%2B%2B-annotations 10.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 10,536 kB
  • ctags: 3,247
  • sloc: cpp: 19,157; makefile: 1,521; ansic: 165; sh: 128; perl: 90
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" ;
          }
        }
}