improved regex pattern

This commit is contained in:
ImAlpha 2023-12-20 23:52:20 -08:00
parent abbf889f1e
commit c46a0e188e
2 changed files with 45 additions and 32 deletions

View File

@ -1,4 +1,5 @@
import os import os
import re
cwd = os.path.dirname(os.path.abspath(__file__)) cwd = os.path.dirname(os.path.abspath(__file__))
@ -9,33 +10,50 @@ advent = os.path.join(cwd, file_name)
nums = [] nums = []
values = [] values = []
test = 'two1nine' # test = "eighthree"
numbers = {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9} # numbers = {
# 'one': 1, 'two': 2, 'three': 3, 'four': 4,
# 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9
# }
numbers_to_string = {
'one': '1', 'two': '2', 'three': '3', 'four': '4',
'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'
}
if numbers in advent: with open(advent, 'r') as file:
break for line in file: # Read lines
else # Split the line when a digit has been found
digit_index = re.findall(r'(?:(one|two|three|four|five|six|seven|eight|nine)|(\d))', line)
# with open(advent, 'r') as file: # print(digit_index)
# for line in file: if digit_index:
# for digit in line: # Use the tuple method to find if the value is present
# if digit.isdigit(): for num,num2 in digit_index:
# nums.append(digit) # Always the spelled out number, convert to string digit
# if len(nums) < 2: if num:
# num_one = nums[0] # if num in numbers:
# num_two = num_one # nums.append()
# num_join = num_one + num_two nums.append(numbers_to_string[num])
# values.append(int(num_join)) # Pass the string digit
# else: if num2:
# num_one = nums[0] nums.append(num2)
# num_two = nums[-1] print(nums)
# num_join = num_one + num_two # values.append()
# values.append(int(num_join)) if len(nums) < 2:
# nums.clear() num_one = nums[0]
# # print(values) num_two = num_one
# print(sum(values)) num_join = num_one + num_two
values.append(int(num_join))
else:
num_one = nums[0]
num_two = nums[-1]
num_join = num_one + num_two
values.append(int(num_join))
nums.clear()
# print(values)
# print(sum(values))
# print(numbers_as_integers)
# file.close() file.close()

View File

@ -1,7 +1,2 @@
two1nine 9vxfg
eightwothree eighthree
abcone2threexyz
xtwone3four
4nineeightseven2
zoneight234
7pqrstsixteen