【发布时间】:2017-08-15 15:41:49
【问题描述】:
我需要获取模式最后一次出现的索引。尝试了来自here 和here 的想法。如果我想要最后一个 : 的索引(索引为 6),则以下内容不起作用。尝试使用锚点$,但显然没有抓住它(因为它给了我第一次出现,即 3)。非常感谢您的解释。
echo 12:45:78 |
awk '
{
print match($1, /:.+$/)
}'
【问题讨论】:
-
使用
/:[^:]*$/([^:]*将匹配除:之外的0+个字符) -
实际上,this idea 适合您的场景。你是怎么尝试的?
-
是的,我现在看到了——已经看过了。变得更聪明...
-
所以
:[^:]说了:,然后是除:之外的任何字符多次? -
是的。不要忘记 $ 锚。另外,请检查 anubhava 的答案,这可能更适合您(除非您需要更多的东西来检查您的输入,而这确实需要正则表达式)。