微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

语法错误与unix中的正则expression式

我试图find一个正则expression式匹配1到999之间的任何数字。当使用钩子时,我得到一个语法错误

(bash: Syntax error near unexpected token `(')

而当我不使用钩子什么也没有发生。

我的正则expression式是:

egrep ^([1-9][0-9]?|)$ Numbers

更新:

在terminal上用正则expression式分组提取string

正则expression式来replace可选的下划线

Windows相当于grep -B(在上下文之前)和-A(在上下文之后)?

删除文件每行末尾的选项卡

如何在1and1共享主机上configurationCake 2.3.x的htaccess文件

但我怎么能让他检查我想要他检查的文件,因为知道我可以检查数字,如果我使用回声,但我应该检查文件

在VIM中,为什么您不必在search和replace中添加“$”?

Sed从html文件删除标签

Bash脚本正则expression式

只允许一些字符与grep?

RegEx在linux shell脚本中混淆

这应该匹配1到999之间的任何数字。我添加了{0,2} ,这意味着[0-9]字符组的0和2个重复之间匹配。

^[1-9][0-9]{0,2}$

如果你想匹配括号和管道字符,那么你需要逃避它们:

^([1-9][0-9]{0,2}|)$

将正则表达式用双引号括起来,或者用反斜杠转义出来。

egrep "^([1-9][0-9]?|)$"或egrep ^([1-9][0-9]?|)$ 。

顺便说一句,你的正则表达式似乎被打破。 egrep "^[1-9][0-9]?[0-9]?$"怎么样egrep "^[1-9][0-9]?[0-9]?$" ?

试试这个:

echo $number | grep '^[1-9][0-9]{0,2}$'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐