正则表达式 开头结尾的固定字符替换

1、需求是这样的:
将字符串中开头结尾的【XY】替换成空字符串,字符串中间的不替换

原字符 替换后
124df346【XY】asdas235dgf 124df346【XY】asdas235dgf
【XY】asdas235dgf asdas235dgf
124df346【XY】 124df346
【XYZ】asdas235dgf 【XYZ】asdas235dgf
【XY】asdas235dgf【XY】 asdas235dgf

2、表达式为 ^(【XY】)?|(【XY】)?$
如果是英文的[],需要转义,^\[XY\]?|\[XY\]?$
^表示开头,$表示结尾,|表示或

3、使用的是第三方的工具,有replace的正则控件,效果如下:
在这里插入图片描述
条件写的是替换为空,且多匹配。
如果单匹配,不能转换开头结尾都有【XY】的字符串

4、多次循环匹配
去除一次开头结尾,得到的字符串的开头结尾还是【XY】

^(【XY】)+|(【XY】)+$

原字符 替换后
【XY】【XY】asdas【XY】235dgf【XY】 asdas【XY】235dgf

你可能感兴趣的:(java)