java 开发 xml中使用正则表达式实现一段文本替换。主要是要实现文本对齐和缩进。
答案:2 悬赏:0 手机版
解决时间 2021-04-06 23:33
- 提问者网友:献世佛
- 2021-04-06 17:47
比如说我有着一些代码(注意不同缩进):
1.
TagHTML Tag
false
2.
TagHTML Tag
false
3.
TagHTML Tag
false
要统一替换成:
TagHTML Tag
false
这个样式包含了上面三个(或者更多),即如果
Tag有缩进,下面的要保持一致的缩进,如何实现?
PS:现在以以下格式(一行无空格)对以上三种(或者更多)实现选择:
Tag\R\S\S
HTML Tag\R
\Rfalse\R(无\S\S)
要实现替换后以上三种效果为:
1.
TagHTML Tag
false
2.
Tag HTML Tag
false
3.
Tag HTML Tag
false
最佳答案
- 五星知识达人网友:冷風如刀
- 2021-04-06 18:43
这个可以
但是 要替换几遍
第1次 把空白符号 全部替换成空(这时候全部xml都会在一行上了)
第2次 找到或/>结尾的在尾部增加一个换行
第3次 比较关键,你要用到正则表达式的[环视],也就是你要找到 或字样的,而且这段字符的前面必须符合后面符合那么认为这段字符是子标签 就在头部插一个\t制表符 或者你喜欢的N个空格
当然文字描述得比较不细致 细节方面你自己把握吧
然后给你贴一个 环视的 说明 具体自己再查查网页
(?<=Expression) 逆序肯定环视,表示所在位置左侧能够匹配Expression
(?
(?=Expression) 顺序肯定环视,表示所在位置右侧能够匹配Expression
(?!Expression) 顺序否定环视,表示所在位置右侧不能匹配Expression
全部回答
你好!
首先说下着两个正则里出现的一些东西。
*表示里零次或多次,?表示一次或一次也没有,+表示一次或多次,$表示行的结尾,
\表示对特殊字符的转义(比如\),.表示任意字符。
第一个:.*\\\\(?=.+\\.xml$)表示:
任意字符出现零次或多次,然后跟两个“\”,然后跟“(”出现一次或零次,然后跟一个等号,然后任意字符出现一次或多次,然后跟一个“\”,然后跟一个“.xml ”,然后结束。
匹配例子:d\\(=abc\.xml
第二个: \\.xml$表示:
一个“\”,然后跟一个“.xml ”,然后结束。
匹配例子:sturts.xml
望采纳!谢谢!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯