String matching with * (that matches with any) in any of the two strings

06 May, 2021
You are given two strings A and B. Strings also contains special character * . you can replace * with any alphabetic character. Finally, you have to tell whether it is possible to make both string same or not.Examples:  
Input : A = "gee*sforgeeks"
        B = "geeksforgeeks"
Output :Yes

Input :A = "abs*"
       B = "abds"
Output :No
 
Explanation: How we can solve above problem, Basically we three cases, Case 1: Both string contains * at particular position, at that time we can replace both * with any character make the string equal at that position. Case 2: If one string have character and other has * at that position. So, we can replace * with the same character in other string. Case 3: If both the string has a character at that position, then they must be same, otherwise we can’t make them equal.  
C++
Java
Python3
C#
PHP
Javascript
// CPP program for string matching with *#include <bits/stdc++.h>using namespace std; bool doMatch(string A, string B){    for (int i = 0; i < A.length(); i++)         // if the string don't have *        // then character at that position        // must be same.        if (A[i] != '*' && B[i] != '*')            if (A[i] != B[i])               return false;     return true;} int main(){    string A = "gee*sforgeeks";    string B = "geeksforgeeks";    cout << doMatch(A, B);    return 0;}
// Java program for string matching with *import java.util.*; public class GfG {         // Function to check if the two    // strings can be matched or not    public static int doMatch(String A, String B) {             for (int i = 0; i < A.length(); i++){                   // if the string don't have *            // then character at that position            // must be same.            if (A.charAt(i) != '*' && B.charAt(i) != '*'){                 if (A.charAt(i) != B.charAt(i))                   return 0;            }        }           return 1;    }         // Driver code    public static void main(String []args){                 String A = "gee*sforgeeks";        String B = "geeksforgeeks";        System.out.println(doMatch(A, B));    }} // This code is contributed by Rituraj Jain
# Python3 program for string# matching with * def doMatch(A, B):         for i in range(len(A)):                 # if the string don't have *        # then character t that position        # must be same.        if A[i] != '*' and B[i] != '*':            if A[i] != B[i]:                return False    return True #Driver codeif __name__=='__main__':    A = "gee*sforgeeks"    B = "geeksforgeeks"    print(int(doMatch(A, B))) # this code is contributed by# Shashank_Sharma
// C# program for string matching withusing System;     class GfG{         // Function to check if the two    // strings can be matched or not    public static int doMatch(String A, String B)    {             for (int i = 0; i < A.Length; i++)        {                     // if the string don't have *            // then character at that position            // must be same.            if (A[i] != '*' && B[i] != '*')                if (A[i] != B[i])                    return 0;        }             return 1;    }         // Driver code    public static void Main(String []args)    {        String A = "gee*sforgeeks";        String B = "geeksforgeeks";        Console.WriteLine(doMatch(A, B));    }} // This code contributed by Rajput-Ji
<?php// PHP program for string matching with * function doMatch($A, $B){    for ($i = 0; $i < strlen($A); $i++)         // if the string don't have *        // then character at that position        // must be same.        if ($A[$i] != '*' && $B[$i] != '*')            if ($A[$i] != $B[$i])            return false;     return true;} // Driver Code$A = "gee*sforgeeks";$B = "geeksforgeeks";echo doMatch($A, $B); // This code is contributed by Tushil.?>
<script>// javascript program for string matching with * public class GfG {     // Function to check if the two    // strings can be matched or not    function doMatch(A, B)    {         for (i = 0; i < A.length; i++)        {             // if the string don't have *            // then character at that position            // must be same.            if (A.charAt(i) != '*' && B.charAt(i) != '*')            {                if (A.charAt(i) != B.charAt(i))                    return 0;            }        }         return 1;    }     // Driver code        var A = "gee*sforgeeks";        var B = "geeksforgeeks";        document.write(doMatch(A, B)); // This code is contributed by aashish1995.</script>
1
 
Shashank_Sharma
jit_t
rituraj_jain
Rajput-Ji
aashish1995
C-String-Question
Pattern Searching
Strings
Strings
Pattern Searching
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Find all occurrences of a given word in a matrix
Check if the given string is shuffled substring of another string
Reverse the substrings of the given String according to the given Array of indices
How to check Aadhaar number is valid or not using Regular Expression
How to validate pin code of India using Regular Expression
Write a program to reverse an array or string
Reverse a string in Java
Write a program to print all permutations of a given string
C++ Data Types
Check for Balanced Brackets in an expression (well-formedness) using Stack