In this Regex Substitution problem, You are given a text of lines. The text contains && and || symbols. Your task is to modify those symbols to and, or words.

HackerRank Regex Substitution solution in python


Problem solution in Python 2 programming.

import re

n = int(raw_input())
for _ in range(0, n):
    line = raw_input()
    line = re.sub(r'\ [\&]{2,2}\ ', ' and ', line)
    line = re.sub(r'\ [\|]{2,2}\ ', ' or ', line)
    line = re.sub(r'\ [\&]{2,2}\ ', ' and ', line)
    line = re.sub(r'\ [\|]{2,2}\ ', ' or ', line)
    print(line)


Problem solution in Python 3 programming.

import re

ii = int(input())

for i in range(0,ii):
   txt = input()
   txt = re.sub(r"\ \&\&\ "," and ",txt)
   txt = re.sub(r"\ \|\|\ "," or ",txt)
   txt = re.sub(r"\ \&\&\ "," and ",txt)
   txt = re.sub(r"\ \|\|\ "," or ",txt)
   print(txt)


Problem solution in pypy programming.

# Enter your code here. Read input from STDIN. Print output to STDOUT
import sys
import re

pat = re.compile(r'''(?<= )(&&|\|\|)(?= )''', re.U|re.I|re.M|re.S)

for idx in range(int(raw_input())):
    l = raw_input()
    if pat.search(l):
        print(pat.sub(lambda m: 'and' if m.group(1) =='&&' else 'or', l))
    else:
        print(l)


Problem solution in pypy3 programming.

import re 

for _ in range(int(input())):
    str_ = input()
    str_ = re.sub(r"(?<= )(&&)(?= )", "and", str_)
    print(re.sub(r"(?<= )(\|\|)(?= )", "or", str_))