我有一行按标签分割的数据。我想做一个计数匹配:前三个在组1中,后三个在组2中,最后一个在组3中。
0 0 1998-09-21 CD O O B-Num
我不是正则表达式的专家,但我想出了这个:
^(\S*)[\t,]*(\S*)[\t,]*(\S*)[\t,]*(\S*)[\t,]*(\S*)[\t,]*(\S*)[\t,]*(\S*)[\t,]*(.*)$
这只会把所有东西分成七块,不符合要求。任何人都知道如何做这样的任务?
答案 0 :(得分:1)
你可以改变你对此捕捉的方式:
^(\S*[\t,]*\S*[\t,]*\S*)[\t,]*(\S*[\t,]*\S*[\t,]*\S*)[\t,]*(\S*)$
^---------------------^ ^---------------------^ ^---^
此外,您可能希望将某些量词更改为+
。拥有所有*
意味着它也将尝试匹配空字符串。