expr 用法的混乱
expr 手册页说:“模式匹配返回 ( 和 ) 之间匹配的字符串或 null;如果不使用 ( 和 ),则返回匹配的字符数或 0。”
我正在做的
echo `expr ABCDEF : ABC`
事情按预期给出了 3
但是,这也给出了 3,为什么?
echo `expr \( ABCDEF : ABC \)`
expr manual page says: "Pattern matches return the string matched between ( and ) or null; if ( and ) are not used, they return the number of characters matched or 0."
I am doing
echo `expr ABCDEF : ABC`
which gives 3 as expected
However, this also gives 3, why ?
echo `expr \( ABCDEF : ABC \)`
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里有两种不同类型的括号;您使用的那些是表达式语法的一部分,而您的引用是关于模式中的正则表达式括号。
There are two different kinds of parentheses there; the ones you used are part of the expression syntax, whereas your quote is about regular expression parentheses within the pattern.