【发布时间】:2021-06-25 22:13:25
【问题描述】:
我有一个字符串
blah\n blah\n blah Refs: CM-220
我知道我可以使用 sed 提取 CM-220,如下所示
echo 'blah\n blah\n blah Refs: CM-220' | sed 's/.*Refs: \([^ ]*\).*/\1/'
但我想让它更严格地提取为 字母 + "-" + 数字。 我不是很擅长正则表达式。
任何人都可以帮助我或提供一些我可以参考的链接吗?非常感谢!
【问题讨论】:
-
如果字符串是一个shell变量,我会使用bash内置的正则表达式,fwiw。
-
echo 'blah\n blah\n blah Refs: CM-220' | sed 's/.*Refs: \([[:alpha:]]\{2\}\).*\([[:digit:]]\{2\}\)/\1 \2/' -
@Shawn 感谢您的回答!可以举个例子吗?
-
当我在电脑而不是手机时,当然可以。
标签: regex string bash sed script