给定 bash 中的任何字符串,例如 flaccid,我想匹配字符串中除前 3 个字符之外的所有字符(在这种情况下,我想排除“fla”并仅匹配“ccid”) 。正则表达式还需要在 sed 中工作。
我尝试过正向查找和以下正则表达式(以及其他各种不成功的表达式):
^.{3}+([a-z,A-Z]+)
sed -r 's/(?<=^....)(.[A-Z]*)/,/g'
Google 并没有提供太多帮助,因为它只产生“获取前 3 个字符..”之类的结果
提前致谢!
最佳答案
如果您想从字符串中获取除前 3 个字符之外的所有字符,可以使用 cut
:
str="flaccid"
cut -c 4- <<< "$str"
或 bash 变量替换:
str="flaccid"
echo "${str:3}"
这将从字符串中删除前 3 个字符。
关于regex - 使用正则表达式排除字符串的前 3 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998860/