问一个expr模式匹配问题
$VALUE=accounts.doc
$expr $value : '\(.*\).doc '
输出是
accounts
如何理解阿?
另外书上有这么一个例子
$VALUE=accounts.doc
$expr $VALUE : October 8, '.* '
12
什么意思 我在机器上试报错 知道应该是怎么写么?
------解决方案--------------------expr 的 : 是一个匹配的意思,表示,后面匹配上前面的. 参考:man expr
expr的返回值是后面的表达式匹配到前面的个数
但是,\(\)是group用法,返回的是匹配到的字符串值
------解决方案--------------------顶楼上,补充一点点,楼主示例中的.*从正则表达式来看 . 表示除换行符外的任意字符,*表示任意的数目,在使用\(和\)情况下,expr会返回匹配内容(在楼主的部分accounts.doc和expr表达式匹配的内容就是 accounts)。
第2个例子中,估计写法应是: expr $VALUE : "October 8, '.* ' "
另,楼主用的$expr是否是expr的笔误?