我有一个问题,需要我编写一个正则表达式,找到一行包含3组字符(可能是单词或数字),并以另一个特定单词结尾。我想到的方法是找到一个以空间结束的模式,并寻找它3次。假设这是正确的方法,我不知道如何找到一个空格,但我认为它看起来像。*"找到一个空格" {3} endword $ 。这是怎么做的?即使它不是这样做的,你如何找到空间?有什么建议吗?
答案 0 :(得分:0)
假设有三组词你会接受任何非空格字符,你可以写:
/^\s*(?:\S+\s+){3}endword$/
最初的插入符号是为了确保行上有完全 3个非空格组。
当然,您需要考虑控制字符之类的内容是否会出现,并进行相应调整。
答案 1 :(得分:-1)
根据你的口味,如下所示:
\b+.+?\b+.+?\b+.+?\bendword$
这使用了单词边界标记(\b
)和非贪婪重复(+?
),因此在您的具体实现中可能略有不同,特别是如果您使用的是旧的比如grep
。