Cody

# Problem 2811. Regex match

Solution 552626

Submitted on 6 Jan 2015
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Fail
%% validate integer userinput = '2015'; pattern = '[0-9]+'; isvalid = true; assert(isequal(regex_match(userinput, pattern), isvalid))

Error: Undefined function or variable 'userinput'.

2   Fail
%% validate integer userinput = '2015b'; pattern = '[0-9]+'; isvalid = false; assert(isequal(regex_match(userinput, pattern), isvalid))

Error: Undefined function or variable 'userinput'.

3   Fail
%% validate modern UK number plate (up to 2014) userinput = {'BA63RDCL' 'BD51SMR', 'YK02OML', 'TA71AAL', ' BD51GHJ ', 'GX62PTL', 'IQ14ZXY'}; pattern = '[A-HK-PR-WY][A-Y](51|(0|5)[2-9]|(1|6)[0-4])[A-Z]{3}'; isvalid = [false true true false false true false]; assert(isequal(regex_match(userinput, pattern), isvalid))

Error: Undefined function or variable 'userinput'.

4   Fail
%% validate various fields (name, dob, UK national insurance number) userinput = {'Alan Smith', '05 12 1962', 'AB123456C'}; pattern = {'([A-Z][a-z]+ )+([A-Z][a-z]+)', '(0[1-9]|[12][0-9]|3[01]) (0[1-9]|1[0-2]) (19[0-9]{2}|200[0-9]|201[0-4])', '[A-CEGHJ-PRST-W-Z][A-CEGHJ-NPRST-W-Z][0-9]{6}[A-D]'}; isvalid = [true true true]; assert(isequal(regex_match(userinput, pattern), isvalid))

Error: Undefined function or variable 'userinput'.

5   Fail
%% validate various fields (name, dob, UK national insurance number) userinput = {'A1an Smith', '05 12 1962 2', 'NT987654A'}; pattern = {'([A-Z][a-z]+ )+([A-Z][a-z]+)', '(0[1-9]|[12][0-9]|3[01]) (0[1-9]|1[0-2]) (19[0-9]{2}|200[0-9]|201[0-4])', '[A-CEGHJ-PRST-W-Z][A-CEGHJ-NPRST-W-Z][0-9]{6}[A-D]'}; isvalid = [false false true]; assert(isequal(regex_match(userinput, pattern), isvalid))

Error: Undefined function or variable 'userinput'.

6   Fail
%% validate string against several regexp. Is it a number, a reg. plate, or a name? userinput = 'BD51SMR'; pattern = {'[0-9]+', '[A-HK-PR-WY][A-Y](51|(0|5)[2-9]|(1|6)[0-4])[A-Z]{3}', '([A-Z][a-z]+ )+([A-Z][a-z]+)'}; isvalid = [false true false]; assert(isequal(regex_match(userinput, pattern), isvalid))

Error: Undefined function or variable 'userinput'.

7   Pass
%% no java user_solution = fileread('regex_match.m'); assert(isempty(strfind(user_solution,'java')));