我有一个像这样组成的巨大文件:
这一行是错误的,因为代码后面的名字,例如:(20000000) NAME
其中 NAME 不会在其他行的片段中重复出现(示例 1):
;100000;(20000000) Face wash su Acai uogomis Ziaja Jagody Acai 200 ml, (26700000) Face rinse gel Avene 75 ml, (26000000) Face tonic Alcina Skin Manager AHA Effect 50 ml, (30000000) Moisturing face lotion Tony Moly The Chok Chok Green Tea 160 ml, (31000000) Cleansing micel water Jowae Micellar Cleansing Water 400 ml
此行是正确的,因为代码后的所有名称都相同(示例 2):
;100001;(20000000) Face wash su Acai uogomis Ziaja Jagody Acai 200 ml, (20000000) Face wash su Acai uogomis Ziaja Jagody Acai 200 ml, (20000000) Face wash su Acai uogomis Ziaja Jagody Acai 200 ml, (20000000) Face wash su Acai uogomis Ziaja Jagody Acai 200 ml
一行文件中的所有片段都由这样的代码分隔(888888888),在此代码之后跟随1-5个单词名称,在所有片段中都是相同的。
目标是找到所有具有相同名称的行。
我为此目的使用了正则表达式(其中“洗脸”是名称:
^;([0-9]{5,12};(\([0-9]{6,12}\).Face wash.*){1,20})$
但它找到了所有带有名称的行,它们只是在第一个片段中
我认为正则表达式的错误部分是 .*
如何更改 .* 如果我想查找具有相同名称的片段的行(如示例 2),但不查找名称不同的片段(如示例 1)
PS coma (,) 是不可靠的分隔符唯一可靠的分隔符是括号中的 (35465468) 数字,后跟 NAME