def get_frequent_non_word_character_from_rows(rows):
    '''
    Returns the most frequent non-word character from the first 5 values in rows.
    Example:
        rows = ["123.456.4.1/4" , "44-55.5.1293", "11/33.99.13.12"]
        output = '.' (as '.' appearers in the values of rows more than '/' and '-')
    '''
    character_count = {}
    number_of_rows_to_check = 5
    # Counting each occurrence of a non-word character
    for index, row in enumerate(rows):
        if index == number_of_rows_to_check:
            break
        value = row[COLUMN_INDEX_IN_ROW]
        # Getting a list of all non-word characters in value using regex
        non_words_characters_list = re.findall(r'\W', value)
        # Incrementing the count for each non-word character by one
        for character in non_words_characters_list:
            character_count[character] = character_count.get(character, 0) + 1

    # Return the character with maximal count. If no non-word character was found return space by default.
    return max(character_count, key=character_count.get) if len(character_count) > 0 else ' '

    Returns the most frequent non-word character from the first 5 values in rows.
    Example:
        rows = ["123.456.4.1/4" , "44-55.5.1293", "11/33.99.13.12"]
        output = '.' (as '.' appearers in the values of rows more than '/' and '-')
    
.script/tests/asimParsersTest/ASimFilteringTest.py