>又是我。
这次我需要帮助来找到字符串的位置,但从右到左。
前任:
- 新车是:>SUV福特(用户文件:1191.jpg(,OK;)
- 电池故障:>>皮卡雪佛兰(用户文件:23.jpg(,错误:'(
- 新车是:>SUV起亚(用户文件:8.jpg(,OK;)
- 新车是:>SUV丰田(用户文件:27411058.jpg(,OK;)
- 电池故障:>>> SUV 道奇(用户文件:9409.jpg(,坏,优先级
所以,我想得到"NUMBER.jpg">的位置,但从右到左:
- 索引 #: 8 --从右到左>
- 索引 #: 10 --从右到左>
- 索引 #: 8 --从右到左>
- 索引 #: 8 --从右到左>
- 索引 #: 16 --从右到左>
如何在 python 2.7 中做到这一点?
@dot。Py 你在哪里?我需要你的支持。
与此同时,你没有得到其他"pythonic"答案,这是一个完全的"黑客":
import re
print re.search("gpj", line[::-1]).start() # "gpj" as it reads in reverse
或者,提到的伪代码 G5W 可能是这样的:
import re
match = "jpg"
pos = re.search(match, line).start()
print len(line) - pos - len(match)
无论哪种方式,都应该得到:
8
10
8
8
16
结果位于捕获组 1 中。
从末尾(最右边(开始,回溯直到找到它。
这是最快的方法(引擎针对速度对其进行优化(。
.*((?<!d)d+.jpg)
扩大
.*
( # (1 start)
(?<! d )
d+
. jpg
) # (1 end)