linux - 反向引用正则表达式 Unix

标签 linux unix grep

我真的不明白如何使用这些反向引用。让我举个例子:

grep '\([a-z]\)\([a-z]\)[a-z]\2\1'

前面的指令在文件中找到回文词。但我不明白它是如何工作的?所有这些 \2\1 是怎么回事,为什么不是 \1\2

最佳答案

简单举例说明:

\2\1 将匹配如下文本:foxof

这里:

f o  x  o  f
| |     \2 \1
| |_2
|
|_1

\1\2 将匹配如下文本:foxfo

让你看到不一样的地方

关于linux - 反向引用正则表达式 Unix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691773/

相关文章:

regex - 使用 grep 和\A 正则表达式匹配字符串

regex - 在正则表达式中使用\t 似乎不适用于所有选项卡

linux - AppStream 系统缓存已更新,但发现问题 : Metadata files have errors:/var/cache/app-info/xmls/fwupd. xml

c - 了解结构及其项目的声明位置

python - 如何配置和编译Samba?

unix - 将单词拆分为字符 - Unix

shell - 需要有关 unix 脚本的帮助以从特定位置读取数据并使用查询中提取的数据

linux - 搜索并替换为反向引用变量

linux - 如何使用PowerShell命令Get-AzMetric获取Azure Linux VM guest 指标?

regex - 如何使用 awk 正则表达式按查询字符串值排序?