regex - 如何仅打印匹配模式
问题描述
我只需要打印 [PR:XXXXX]。
例:只[Test][PR:John][Finished][Reviewer:SE]
给[PR:John]
。(公关标签)
注意:其他字符串而不是 [PR:XXXXX] 可能会不时更改 例如:
[Test][PR:Cook][Completed]
[Test][Finished][PR:Russell][Reviewer:SE]
[Dump][Reviewer:SE][Complete][PR:Arnold]
注意:没有多线输入,所有输入中只包含一个 PR 标签。
直到我创建以下 sed 命令但它不起作用:
sed "s/\[PR:[^]]*\]//"
解决方案
使用这个 perl 命令行:
perl -pe 's/\[[^P][^R][^:].*?\]//g' your_file
下面测试:
$ echo "[Test][Finished][PR:Russell][Reviewer:SE][PR:Rachel]"|perl -pe 's/\[[^P][^R][^:].*?\]//g'
[PR:Russell][PR:Rachel]
推荐阅读
- python - 如何使用 Python 从一行中获取以 [ 开头并以 ] 结尾的所有字符串?
- appcelerator - 创建页面划分/格式页面?
- python-3.x - 使用withdraw vs wm_withdraw隐藏tkinter窗口
- python-3.x - 如何修复“无”答案并将输入作为参数?
- perl - Perl 带字符串参数的 foreach
- kubernetes-helm - 带有嵌套花括号的动态 ConfigMap Helm 模板
- oracle - Oracle中如何将两个或多个未知表合并为一张表
- swift - IBInspectable 变量值在界面生成器和模拟器中没有变化
- android - 如何下载内部存储中特定文件夹中的文件
- javascript - 在 react js React router v4 中添加子路由