首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

问一个expr模式匹配有关问题

2012-02-15 
问一个expr模式匹配问题$VALUEaccounts.doc$expr$value:\(.*\).doc输出是accounts如何理解阿?另外书上有

问一个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的笔误?

热点排行