前提条件:
[numbers]
[vip]111,222[vip]
[standard]333[standard]
[numbers]
我想要的: 找到[数字]之间的一切 问题: 当这个文本在一行中时,解决方案很简单
(?<=\[numbers\])(.*?)(?=\[numbers\])
但是有可能在新条件的前提条件下进行搜索吗?
答案 0 :(得分:0)
在大多数正则表达式中,点(。)代表在线上的任何东西。
您可以使用“任何”的表达式扫描行尾,例如:
(?&lt; = \ [numbers \])([\ d \ D] *?)(?= \ [numbers \])
as [\ d \ D]代表'任何数字,或任何不是数字的东西'
答案 1 :(得分:0)
对于提出的问题,您真的不需要正则表达式,awk
它足以设置记录分隔符:
awk 1 RS='\\[numbers\\]\n' ORS=''
输出:
[vip]111,222[vip]
[standard]333[standard]