Hex Color Code

CSS colors are defined using a hexadecimal (HEX) notation for the combination of Red, Green, and Blue color values (RGB).

Specifications of HEX Color Code

■ It must start with a ‘#‘ symbol.
■ It can have 3 or 6 digits.
■ Each digit is in the range of 0 to F. (1, 2, 3, 4, 5, 6, 7, 8, 9, 0, A, B, C, D ,E and F).
■ A – F letters can be lower case. (a, b, c, d, e and f are also valid digits).

Examples

Valid Hex Color Codes
#FFF 
#025 
#F0A1FB 

Invalid Hex Color Codes
#fffabg
#abcf
#12365erff

You are given N lines of CSS code. Your task is to print all valid Hex Color Codes, in order of their occurrence from top to bottom.

CSS Code Pattern

Selector
{
Property: Value;
}

Input Format

The first line contains N, the number of code lines.
The next N lines contains CSS Codes.

Constraints

0 < N < 50

Output Format

Output the color codes with ‘#‘ symbols on separate lines.

Sample Input

11
#BED
{
    color: #FfFdF8; background-color:#aef;
    font-size: 123px;
    background: -webkit-linear-gradient(top, #f9f9f9, #fff);
}
#Cab
{
    background-color: #ABC;
    border: 2px dashed #fff;
}

Sample Output

#FfFdF8
#aef
#f9f9f9
#fff
#ABC
#fff

Explanation

#BED and #Cab satisfy the Hex Color Code criteria, but they are used as selectors and not as color codes in the given CSS.

Hence, the valid color codes are:

#FfFdF8
#aef
#f9f9f9
#fff
#ABC
#fff

Note: There are no comments ( // or /* */) in CSS Code.

Solution Implementation


import re
for i in range(int(input())): # In this case the only valid color codes we want happen on lines that end in a semi colon
    match = re.findall(r"(\#[a-f0-9]{3,6})[\;\,\)]{1}", input(), re.I ) #ignore case, since hex is both capital and lowercase
    if match:
        for j in list(match):
            print(j)
Copied!

Leave a Reply

Your email address will not be published. Required fields are marked *