Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. if ($statement =~ /I love (w+)/) {
  2. print "He loves $1n";
  3. }
  4. elsif ($statement =~ /Ich liebe (w+)/) {
  5. print "Er liebt $1n";
  6. }
  7. elsif ($statement =~ /Je t'aime (w+)/) {
  8. print "Il aime $1n";
  9. }
  10.  
  11. m = re.search("I love (w+)", statement)
  12. if m:
  13. print "He loves",m.group(1)
  14. else:
  15. m = re.search("Ich liebe (w+)", statement)
  16. if m:
  17. print "Er liebt",m.group(1)
  18. else:
  19. m = re.search("Je t'aime (w+)", statement)
  20. if m:
  21. print "Il aime",m.group(1)
  22.  
  23. import re
  24.  
  25. class REMatcher(object):
  26. def __init__(self, matchstring):
  27. self.matchstring = matchstring
  28.  
  29. def match(self,regexp):
  30. self.rematch = re.match(regexp, self.matchstring)
  31. return bool(self.rematch)
  32.  
  33. def group(self,i):
  34. return self.rematch.group(i)
  35.  
  36.  
  37. for statement in ("I love Mary",
  38. "Ich liebe Margot",
  39. "Je t'aime Marie",
  40. "Te amo Maria"):
  41.  
  42. m = REMatcher(statement)
  43.  
  44. if m.match(r"I love (w+)"):
  45. print "He loves",m.group(1)
  46.  
  47. elif m.match(r"Ich liebe (w+)"):
  48. print "Er liebt",m.group(1)
  49.  
  50. elif m.match(r"Je t'aime (w+)"):
  51. print "Il aime",m.group(1)
  52.  
  53. else:
  54. print "???"
  55.  
  56. m0 = re.match("I love (w+)", statement)
  57. m1 = re.match("Ich liebe (w+)", statement)
  58. m2 = re.match("Je t'aime (w+)", statement)
  59. if m0:
  60. print "He loves",m0.group(1)
  61. elif m1:
  62. print "Er liebt",m1.group(1)
  63. elif m2:
  64. print "Il aime",m2.group(1)
  65.  
  66. pats = [
  67. ("I love (w+)", "He Loves {0}" ),
  68. ("Ich liebe (w+)", "Er Liebe {0}" ),
  69. ("Je t'aime (w+)", "Il aime {0}")
  70. ]
  71. for p1, p3 in pats:
  72. m= re.match( p1, statement )
  73. if m:
  74. print p3.format( m.group(1) )
  75. break
  76.  
  77. pats = {
  78. "I love (w+)" : "He Loves {0}",
  79. "Ich liebe (w+)" : "Er Liebe {0}",
  80. "Je t'aime (w+)" : "Il aime {0}",
  81. }
  82. for p1 in pats:
  83. m= re.match( p1, statement )
  84. if m:
  85. print pats[p1].format( m.group(1) )
  86. break
  87.  
  88. alist={"I love ":""He loves"","Je t'aime ":"Il aime","Ich liebe ":"Er liebt"}
  89. for k in alist.keys():
  90. if k in statement:
  91. print alist[k],statement.split(k)[1:]
  92.  
  93. def re_match_group(pattern, str, out_groups):
  94. del out_groups[:]
  95. result = re.match(pattern, str)
  96. if result:
  97. out_groups[:len(result.groups())] = result.groups()
  98. return result
  99.  
  100. groups = []
  101. if re_match_group("I love (w+)", statement, groups):
  102. print "He loves", groups[0]
  103. elif re_match_group("Ich liebe (w+)", statement, groups):
  104. print "Er liebt", groups[0]
  105. elif re_match_group("Je t'aime (w+)", statement, groups):
  106. print "Il aime", groups[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement