当前位置: 首页 > news >正文

SED正则表达式中[方括号]的特殊处理

今天被这个方括号懵晕了,特此记录

例如: 去除输入字符串“1[2.3]4[ab,c]”中的所有方括号和逗号:

$ echo "1[2.3]4[ab,c]"|sed -e "s/[,\]\[]//g"
1[2.3]4[ab,c]
 

It doesn't work!

原因:Regular Expressions

The <right-square-bracket> ( ']' ) shall lose its special meaning and represent itself in a bracket expression if it occurs first in the list (after an initial <circumflex> ( '^' ), if any).

解决方案:关键是要把 ] 右方括号不加escape放在首位.

$ echo "1[2.3]4[ab,c]"|sed -e "s/[][,]//g"
12.34abc

$ echo "1[2.3]4[ab,c]"|sed -e "s/[]\[,]//g"
12.34abc

$ echo "1[2.3]4[ab,c]"|sed -e "s/[],[]//g"
12.34abc
 

The order of some characters is important:

  • - should be at the end like this -]
  • [] should be like that [][other characters]
  • ' should be escaped like that '\''
  • not begin with ^ like in [^
  • not begin with [. [= [: and end with .] =] :]
  • not end with $]

References:

regex - How to escape square closing bracket in sed - Stack Overflow

Regular Expressions

http://www.lryc.cn/news/114527.html

相关文章:

  • Android 音频开发
  • Java8新特性,Lambda,Stream流
  • 模型训练之train.py代码解析
  • linux 复习
  • C语言刷题------(2)
  • JVM 之 OopMap 和 RememberedSet
  • Original error: gsmCall method is only available for emulators
  • React Native从文本内容尾部截取显示省略号
  • 机器学习笔记之优化算法(十一)凸函数铺垫:梯度与方向导数
  • 探究Vue源码:mustache模板引擎(11) 递归处理循环逻辑并收尾算法处理
  • STM32 CubeMX USB_CDC(USB_转串口)
  • 机器学习——卷积神经网络基础
  • 端到端自动驾驶前沿论文盘点(pdf+代码)
  • 2023年中期奶粉行业分析报告(京东数据开放平台)
  • web集群学习:基于CentOS 7构建 LVS-DR 群集并配置服务启动脚本
  • Flask 高级应用:使用蓝图模块化应用和 JWT 实现安全认证
  • 【Grafana】中文界面配置 v10.0.3
  • web前端html
  • Unity 编辑器选择器工具类Selection 常用函数和用法
  • ArcGIS在洪水灾害普查、风险评估及淹没制图中应用教程
  • Oracle日志相关操作
  • IMV8.0
  • 【Linux 网络】 数据链路层协议
  • GWJDN-400型2MHZ自动平衡高温介电温谱仪
  • 第十五次CCF计算机软件能力认证
  • ThreadPoolExecutor线程池详解
  • 【VB6|第22期】用SQL的方式读取Excel数据
  • 融云:从「对话框」跳进魔法世界,AIGC 带给社交的新范式
  • UWB伪应用场景 - 别再被商家忽悠
  • 【快应用】list组件属性的运用指导