如何解决Notepad ++正则表达式匹配和替换某些标签之间的第一个逗号
我在 Notepad++ 中打开了这样的数据:
<title>Name 1,Address 1,NY</address>
<title>Name 2,Address 2,California</address>
<title>Name 3,Address 3,Texas</address>
<title>Name 4</title> <address>Address 4,Utah</address> <-- this line is 100% correct
...我想将第一个逗号定位在需要适当标记封闭的组上,并将其替换为:</title><address>
我这样做了,它针对第二组(地址),但是 replace 正则表达式我不知道用什么来保持地址数据的完整性,我尝试了这样的事情,但是它会破坏整个地址:
- 查找内容:
,(.+address)
- 替换为:
</title><address>(.+address)
如何简单地用新标签 </title><address>
替换 first 逗号?
解决方法
你可以使用
<title>[^<>,\v]*\K,\h*([^<>\v]*</address>)
替换为 </title> <address>\1
。
详情
-
<title>
- 字符串<title>
-
[^<>,\v]*
- 除<
、>
、逗号和任何垂直空格外的零个或多个字符 -
\K
- 匹配重置运算符,丢弃目前匹配的所有文本 -
,
- 逗号 -
\h*
- 零个或多个水平空格 -
([^<>\v]*</address>)
- 第 1 组($1
或\1
反向引用指的是组值):-
[^<>\v]*
- 除<
、>
和任何垂直空格外的零个或多个字符 -
</address>
-</address>
字符串。
-
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。