Advertisement
bepisXDDD

regular expressions

May 22nd, 2020
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. def Asterisk(mask, remainder):
  2.     if(len(mask)==1 or CheckRegularExpression(mask[1:], remainder)):
  3.         return True
  4.     elif(len(remainder)>0):
  5.         return Asterisk(mask, remainder[1:])
  6.  
  7. def CheckRegularExpression(mask, inspected):
  8.     curInspectedIndex = 0
  9.     for i in range(0, len(mask)):
  10.         if (mask[i] == '*'):
  11.             if(Asterisk(mask[i:], inspected[curInspectedIndex:])):
  12.                 return True
  13.             else:
  14.                 return False
  15.         elif (mask[i] ==  '?'): #skip
  16.             if(curInspectedIndex > len(inspected)-1):
  17.                 return False
  18.             else:
  19.                 curInspectedIndex+=1
  20.         else: #default
  21.             if (curInspectedIndex < len(inspected) and inspected[curInspectedIndex] == mask[i]):
  22.                 curInspectedIndex+=1
  23.             else:
  24.                 return False
  25.     return (curInspectedIndex == len(inspected))
  26. print(CheckRegularExpression(input(), input()))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement