In this post, we will solve Negative Lookbehind HackerRank Solution. This problem (Negative Lookbehind) is a part of HackerRank Regex series.
Objective
(?<!regex_2)regex_1
The negative lookbehind (?<!) asserts regex_1
not to be immediately preceded by regex_2
. Lookbehind is excluded from the match (do not consume matches of regex_2
), but only assert whether a match is possible or not.
Task
You have a test String S.
Write a regex which can match all the occurences of characters which are not immediately preceded by vowels (a, e, i, u, o, A, E, I, O, U).
Note
This is a regex only challenge. You are not required to write a code.
You have to fill the regex pattern in the blank (_________
).
JavaScript do not support lookbehind.
Solution – Negative Lookbehind – HackerRank Solution
PHP
<?php $Regex_Pattern = '/(?<![aeiouAEIOU])[\s\S]/'; //Do not delete '/'. Replace __________ with your regex. $handle = fopen ("php://stdin","r"); $Test_String = fgets($handle); preg_match_all($Regex_Pattern, $Test_String, $output_array); printf("Number of matches : %d",count($output_array[0])); fclose($handle); ?>
Note: This problem (Negative Lookbehind) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.