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 re
cwd = os.path.dirname(os.path.abspath(__file__))
@ -9,33 +10,50 @@ advent = os.path.join(cwd, file_name)
nums = []
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:
break
else
with open(advent, 'r') as file:
for line in file: # Read lines
# 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)
# print(digit_index)
if digit_index:
# Use the tuple method to find if the value is present
for num,num2 in digit_index:
# Always the spelled out number, convert to string digit
if num:
# if num in numbers:
# nums.append()
nums.append(numbers_to_string[num])
# Pass the string digit
if num2:
nums.append(num2)
print(nums)
# values.append()
if len(nums) < 2:
num_one = nums[0]
num_two = num_one
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)
# with open(advent, 'r') as file:
# for line in file:
# for digit in line:
# if digit.isdigit():
# nums.append(digit)
# if len(nums) < 2:
# num_one = nums[0]
# num_two = num_one
# 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))
# file.close()
file.close()

View File

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