gpt4 book ai didi

python - 如何检查字符串是否包含两个括号之间的数字并返回位置?

转载 作者:太空狗 更新时间:2023-10-30 00:47:49 25 4
gpt4 key购买 nike

假设我有 str = "qwop(8) 5" 并且我想返回 8 的位置。

我有以下解决方案:

import re

str = "qwop(8) 5"
regex = re.compile("\(\d\)")
match = re.search(regex, string) # match object has span = (4, 7)
print(match.span()[0] + 1) # +1 gets at the number 8 rather than the first bracket

这看起来真的很乱。有更复杂的解决方案吗?最好使用 re,因为我已经将其导入用于其他用途。

最佳答案

使用match.start() 获取匹配的开始索引,并使用捕获组专门捕获括号之间的数字以避免 +1索引。如果你想要模式的开头,使用 match.start(),如果你只想要数字,使用 match.start(1);

import re
test_str = 'qwop(8) 5'
pattern = r'\((\d)\)'
match = re.search(pattern, test_str)

start_index = match.start()
print('Start index:\t{}\nCharacter at index:\t{}'.format(start_index,
test_str[start_index]))
match_index = match.start(1)
print('Match index:\t{}\nCharacter at index:\t{}'.format(match_index,
test_str[match_index]))

输出;

Start index:    4
Character at index: (
Match index: 5
Character at index: 8

关于python - 如何检查字符串是否包含两个括号之间的数字并返回位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45163019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com