regex - 字符串匹配的正则表达式 ****${****}***
问题描述
我正在尝试编写一个匹配并排除文件中所有字符串的正则表达式,这些字符串包含${
其后}
跟任何字符之间或周围的任何字符。中间可以是任何字符/数字/下划线/破折号/等(里面不会有另一个括号)。
示例匹配:
hello ${VAR}
${HELLO_VAR} world
https://${WEB_VAR}
我想出了这个:egrep -v '^\${[a-zA-Z?]'
,虽然它似乎部分工作,我不太确定它是否正确。我怎样才能做到这一点?
输入文件的字符串由换行符分隔,非常类似于简单的 java 属性。
解决方案
您可以尝试使用 sed 命令。
sed 's/\$\{[^}]*\}//g' <input_file> > <output_file>
这里的 sed 排除了 '{' 和 '}' 之间的所有字符,并将新内容写入新的输出文件中。
推荐阅读
- node.js - 时间控制的 webhook 框架 - NodeJS
- apache-spark - Spark SQL:空表连接与大表慢
- python - 从 df.columns 重命名值
- html - 为什么我的 .bb 类不能处理输入标签?
- php - 如何在 laravel-8 中将图像作为链接存储在我的数据库中,以便在前端 Vue.js 中使用?
- .net - Inriver PIM - 工作区根文件夹为空
- python - selenium 如何在没有本地保存的情况下将屏幕截图上传到远程?
- java - 如何使用 Eclipse 制作 Android 应用程序
- javascript - 在 R 中单击传单中的按钮时显示摘要统计信息
- python - python-binance:获取所有订单,不指定符号