如何编写行头的正则表达式," ^"和行尾," $"在[]?

时间:2016-08-14 17:11:41

标签: bash

我想在TARGET_PATH中挑选一条路径$PATH。为了挑选它,我做了

grep -q "[:|^]$TARGET_PATH[$|:]"

然而它不起作用。

我害怕排队" ^"和行尾#34; $"可能无效[]

请告诉解决方案。

3 个答案:

答案 0 :(得分:2)

您可以尝试使用alternation with ()代替[]class of characters or character sets

grep -q -E "(:|^)\$TARGET_PATH($|:)

答案 1 :(得分:1)

此检查不需要return $this->belongsTo('users_roles', 'users_roles_id', 'users_id'); 。您可以在BASH中执行此操作:

grep

答案 2 :(得分:1)

正则表达式很酷但在这种情况下你根本就不需要它们。

将您要搜索的字符串($PATH)包装成一对分隔符(:)。这样您就可以确定您要搜索的字符串(如果它出现在$PATH中)始终由:个字符限定。

定期搜索字符串:$TARGET_PATH:(没有regex)足以告诉您它是否出现在$PATH中:

cat ":$PATH:" | grep ":$TARGET_PATH:"