标签: regex bash git grep
我一直在尝试使用git在dev分支上的源代码中找到t()函数的实例。提出以下一行
git branch -a | tr -d \* | sed '/->/d' | xargs git grep -E -e "/(t\(\').*\'\)/sU"
此处搜索在所有分支上完成,但我仍然没有从查询中获得结果。简单的搜索查询(git grep" t('")工作得很好,但不能用于此目的。 从git config启用ExtendedRexp。
有人有过类似的问题吗?
答案 0 :(得分:1)
不必使用正则表达式中的单引号转义。另外,为了避免匹配以't'结尾的其他函数,例如get,您可以使用\W来匹配任何非非单词字符。
get
\W
git branch -a | tr -d \* | sed '/->/d' | xargs git grep -E -e "\Wt\('.*'\)"
如果要在匹配结果中捕获组,则可以添加其他括号。例如: