Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的问题是正则表达式.*似乎与特殊字符不匹配,如下所示:
.*
\200 \201 \202 ...
(在emacs)。
emacs
我有一个文件,在分隔符之间有一些值,例如:
[a].[b]
我想像这样显示它们:
a=b
所以我使用正则表达式:
sed 's/^\[\(.*\)\]\.\[\(.*\)\]/\1=\2/g' toto
它可以工作,但是当字符之间的[]字符\200 sed不起作用时,就好像.*与那些字符不匹配一样。
[]
\200
sed
有人有想法吗?
使用 perl:
perl -pe 's,^\[([^]]+)\]\.\[([^]]+)\],$1=$2,' toto
在 Emacs 中:
Mx 查询替换正则表达式
RET
\[\(.*\)] \.\[\(.*\)]
\1=\2