Given two string, in which one is pattern (Pattern) and other is searching expression. Searching expression contains ‘#’.
The # works in following way:
- A # matches with one or more characters.
- A # matches all characters before a pattern match is found. For example if pat = “A#B”, and text is “ACCBB”, then # would match only with “CC” and pattern is considered as not found.
Input : str = "ABABABA" pat = "A#B#A" Output : yes Input : str = "ABCCB" pat = "A#B" Output : yes Input : str = "ABCABCCE" pat = "A#C#" Output : yes Input : str = "ABCABCCE" pat = "A#C" Output : no
We can observe that whenever we encounter ‘#’, we have to consider as many characters till the next character of pattern will not be equal to the current character of given string. Firstly, we check if the current character of pattern is equal to ‘#’-
a) If not then we check whether the current character of string and pattern are same or not, if same, then increment both counters else return false from here only. No need for further checking.
b) If yes, then we have to find the position of a character in text that matches with next character of pattern.
This article is contributed by Roshni Agarwal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Check if a string contains uppercase, lowercase, special characters and numeric values
- Check three or more consecutive identical characters or numbers
- Count of strings possible by replacing two consecutive same character with new character
- Program to find all match of a regex in a string
- Count occurrences of a sub-string with one variable character
- NFA to accept strings that has atleast one character occurring in a multiple of 3
- Strings formed from given characters without any consecutive repeating characters
- Longest substring with atmost K characters from the given set of characters
- String matching where one string contains wildcard characters
- Check if a string can be split into substrings starting with N followed by N characters
- Check if a string can be converted to another by swapping of adjacent characters of given type
- How to validate MAC address using Regular Expression
- Find all the patterns of "1(0+)1" in a given string | SET 2(Regular Expression Approach)
- How to validate Indian driving license number using Regular Expression
- How to validate CVV number using Regular Expression
- How to validate SSN (Social Security Number) using Regular Expression
- How to validate time in 12-hour format using Regular Expression
- How to validate PAN Card number using Regular Expression
- Validating Roman Numerals Using Regular expression
- How to validate time in 24-hour format using Regular Expression
Improved By : nitin mittal