![正则表达式将大写字母单词与标题大小写单词分开?](https://linux22.com/image/140220/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%B0%86%E5%A4%A7%E5%86%99%E5%AD%97%E6%AF%8D%E5%8D%95%E8%AF%8D%E4%B8%8E%E6%A0%87%E9%A2%98%E5%A4%A7%E5%B0%8F%E5%86%99%E5%8D%95%E8%AF%8D%E5%88%86%E5%BC%80%EF%BC%9F.png)
我有一个格式如下的字符串:
Meaningless Garbage I Don't Want INFO I'M LOOKING FOR
无意义的垃圾和我正在寻找的信息的长度是可变的,但是我正在寻找的信息将始终为大写,而其他内容将始终为标题大写。
有什么办法可以用正则表达式将其分开吗?我不太擅长正则表达式,所以我不知道有什么可能。
答案1
echo "Meaningless Garbage I Don't Want INFO I'M LOOKING FOR" | grep -Eo -e '\b[A-Z'\'']{2,}\b'
INFO
I'M
LOOKING
FOR
答案2
假设标题大小写总是以小写字母结尾,请尝试
sed 's/^.*[a-z] //' file
INFO I'M LOOKING FOR