标签: regex bash non-greedy
假设我们有一个文件,其中包含以下形式的行(但#的数量不固定,并且字段的长度不固定)
as#dviu#cvm#ud
对于上面的行,.*#与as#dviu#cvm#相匹配(即越远越好)。如何匹配直到第一次出现#为止? (即仅匹配as#)
.*#
as#dviu#cvm#
#
as#
答案 0 :(得分:2)
使用[^#]而不是.来匹配#以外的任何内容。
[^#]
.
答案 1 :(得分:-1)
设为非贪婪 像.*?#
.*?#