【发布时间】:2015-05-12 21:47:13
【问题描述】:
我已经在 RegExr.com 中测试了这个特殊的正则表达式:
/(\*)*((\s)?(\w)*)/g
匹配以下内容:
* Global Links contained...etc
* Change User, contact list...etc
(从...开始的所有内容都只是句子中的多余单词,而不是文字...等)
我尝试在 sed 命令中使用此正则表达式作为 bash 脚本的一部分,如下所示:
sed "/(\*)*((\s)?(\w)*)/d" test.txt > stripped.txt
但是这两行仍然保留在 stripped.txt 中。正则表达式或文件中是否有我没有考虑的内容?在这两行之前是块注释(/**)的开始,块注释结束在它们之后(*/),它们都在新行上。我是否遗漏了一些新行或 sed 命令/正则表达式错误的东西?
【问题讨论】:
-
<应该是(。您是复制并粘贴了正则表达式还是拼写错误? -
只是一个错字,我已经更正了这个
-
使用
-r扩展正则表达式语法(或转义(、)和?)。但是那个正则表达式真的是你想要的吗?它将匹配每一行,因为其中的所有内容都匹配空字符串。 -
所以你基本上想要
/^\*.*/d? (即“任何以*开头的行) -
不一定,这是一个简单的脚本,可以将 css 中的 block cmets 剥离为 txt 文件,但可能存在 * { //css stuff } 之类的规则