- 论坛徽章:
- 0
|
本帖最后由 luofeiyu_cu 于 2013-02-16 11:16 编辑
继续深入,我用| 来表达或者,这个逻辑关系,可以通过
sed -r 's/([^ ]*)\s([^\x5d\x5b()]*)((\(.+\))*|(\[.+\])*)/\3/' tv.txt
写成下面也可以
sed -r 's/([^ ]*)\s([^\x5d\x5b\x28\x29]*)((\(.+\))*|(\[.+\])*)/\3/' tv.txt
但是,写成这样就不行
sed -r 's/([^ ]*)\s([^\x28\x29\x5d\x5b]*)((\(.+\))*|(\[.+\])*)/\3/' tv.txt
我仅仅是将符号顺序颠倒了一下而已。
# sed -r 's/([^ ]*)\s([^\x28\x29\x5d\x5b]*)((\(.+\))*|(\[.+\])*)/\3/' tv.txt
sed: -e expression #1, char 58: Unmatched [ or [^
如果颠倒成这样, [^\x28\x5b\x29\x5d] ,会有结果,但是结果不对。
sed -r 's/([^ ]*)\s([^\x28\x5b\x29\x5d]*)((\(.+\))*|(\[.+\])*)/\3/' tv.txt
请高手仔细解答一下这个问题
[^] 里面的\x5d\x5b\x28\x29 排列问题 ? ()[ ]的排列问题。 |
|