我发现这个,但它假定单词是空格分开的。bash脚本提取正则表达式模式的所有匹配
result="abcdefADDNAME25abcdefgHELLOabcdefgADDNAME25abcdefgHELLOabcdefg"
for word in $result
do
if echo $word | grep -qi '(ADDNAME\d\d.*HELLO)'
then
match="$match $word"
fi
done
POST EDITED
重新命名为清楚:
data="abcdefADDNAME25abcdefgHELLOabcdefgADDNAME25abcdefgHELLOabcdefg"
for word in $data
do
if echo $word | grep -qi '(ADDNAME\d\d.*HELLO)'
then
match="$match $word"
fi
done
echo $match
原始留下这样的评论询问result
继续意义。
我很难理解你的脚本。 '$ world'应该与'$ result'相对应吗?然而,你的模式中没有任何东西可以匹配'$ world'中的任何东西。你能否展示一个你想要匹配的字符串和你想要使用的模式的更好的例子? – 2010-09-04 18:31:12
我编辑了这篇文章,但没有正确说明。 – 2010-09-04 19:55:07
目前还不清楚你在找什么结果。现在'在$ result中输入'只能看到一个“单词”(包含在$ result中的完整字符串)你想'$ match'在结尾包含什么? – 2010-09-04 20:15:28