gpt4 book ai didi

regex - 如何获取最后一个字符为 A 或 B 且倒数第二个字符为 1-360 的字符串的最后 2 个字符? (正则表达式 GREP)

转载 作者:行者123 更新时间:2023-12-01 22:48:50 25 4
gpt4 key购买 nike

我并不是真的每天都使用正则表达式,我对此还是个新手。

例如,我有这些字符串,这是字符串的格式:

APPLE20B50A
苹果30A60B
APPLE12B5B
APPLE360A360B
苹果56B

基本上,我想获取最后一个字母(A 或 B)和最后一个字母之前的数字(或字母之后/数字之前的数字,这也是 A 或 B)。还有像APPLE56B这样中间没有数字+字母的格式。

预期输出:

50A
60B
5B
360B
56B

我试过 grep -o '.\{2\}$' 但它只输出最后 2 个字符:

0A
0B
5B
0B
6B

很明显,它对数字来说不是动态的。任何帮助将不胜感激。

最佳答案

grep -o 确实可以使用正确的模式

grep -oP '[0-9]+[AB]$'

使用 Perl,

perl -nle'print $& if /[0-9]+[AB]$/'
perl -nle'print for /([0-9]+[AB])$/'

在所有情况下,您都可以通过 STDIN 或传递文件名作为参数来提供输入。

关于regex - 如何获取最后一个字符为 A 或 B 且倒数第二个字符为 1-360 的字符串的最后 2 个字符? (正则表达式 GREP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74794402/

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