regex - 使用正则表达式排除字符串的前 3 个字符

标签 regex bash sed

给定 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/

相关文章:

regex - pandas python 中字符串的精确匹配

bash - 循环遍历路径中带有空格的文件名

sed - 如何使用 'sed or gawk' 删除文本 block 直到最后一行之前的第三行

linux - 使用 Sed 提取多个文件中的标题

regex - 反斜杠如何影响正则表达式中的花括号?

java - 在不同语言语法之间转换正则表达式的工具?

python - 正则表达式在字符串开头未匹配

ios - 如何设置正则表达式以接受介于0.1和100 iOS之间的值

regex - 如何使用此正则表达式匹配最后一个字符串

linux - 如何在 Bash 提示符中显示与系统时间不同的时间?