虽然我几乎可以肯定这已经覆盖了,我似乎无法找到具体到这样的东西。当我继续我的学习狂欢的旅程时,我一直在寻找令我感到困惑的部分,为什么事情会以他们的方式发生。使用匹配查找字符串中的子只庆典
搜索并替换或只是字符串匹配的子字符串是最有可能的编写脚本时,你首先要做的事情之一。但是,试图坚持单一语言或一组工具在bash中很难做到,因为您可以通过多种方式解决大多数问题。我正尽我所能,尽量保持尽可能低的水平与bash。我遇到了一个麻烦,我需要有人向我解释。
这样子串与匹配的bash搜索给了我不同的结果取决于正则表达式我用,我不知道为什么。
#!/bin/bash
Stext="Hallo World"
echo `expr "$Stext" : '^\(.[a-z]*\)'` # Hallo
echo `expr "$Stext" : '.*World'` # 11
虽然这两个搜索词,我认为,既没有返回他们所发现。为什么?
感谢简单的解释@jcollado :)我用你提供的文档,但不知何故没有得到这个括号功能。 Bash脚本指南不太容易消化。 – 2012-03-07 08:21:31
由于这个问题是关于[tag:bash],所以更喜欢使用* builtin * regex作为[@kev建议](http://stackoverflow.com/a/9602260/1765658)而不是* fork到'/ usr/bin/expr' *! – 2015-02-27 23:05:29