提问人:Croitoru Andrei 提问时间:9/28/2021 最后编辑:Wiktor StribiżewCroitoru Andrei 更新时间:9/28/2021 访问量:78
如果字符串不存在,则停止匹配的正则表达式
Regex to stop matching if the string is not present
问:
我有一个不同段落的文本。在每个段落中,我想匹配一个特定的单词,但在某些段落中缺少这个词。如果检测到单词,我如何使用相同的正则表达式进行匹配,否则继续。
如您所见,我必须匹配 IhreArtikel-Nr 旁边的代码。正如您在第 9 行看到的,但如果 IhreArtikel-Nr.不存在正则表达式继续匹配,如您在第 7 行看到的那样。并毁掉第 8 行。太。如果 IhreArtikel 不存在,我如何不匹配。
我的正则表达式:
\r?\n(\d{1,3})(?:\s[a-zA-Z0-9-]{1,25}\s\d{1,6})(?:\s\d{1,6}\w{1,10}\s)(\d{1,6})(\w{1,6})\s(\d{1,2}\.\d{1,2}\.\d{4})\s(\d{1,4}\,\d{1,4}(?:[a-zA-Z]{1,4}\/))(?:.*?)(\d{1,3}\.\d{1,4}\,\d{1,2}\r?\n|\d{1,3}\,\d{1,3}\r?\n|\d{1,4}\r?\n)(.*?)(?(?=(?:IhreArtikel-Nr\.))(.*?)\r?\n|(.*?)\r?\n)
正文:
6 UR1040HRA735-765 60 10kg 600kg 28.09.2021 4,12EUR/kg 2,00 2.422,56
EFDEDUR-LackfarbelichtgrauRAL7035
SG,MV5:1HU0001/HU0032
IhreArtikel-Nr.:LAD7035-765
Zolltarifnummer:32082090
Ursprungsland:Deutschland
7 UR1040HG3081-765 60 10kg 600kg 28.09.2021 3,82EUR/kg 2,00 2.246,16
EFDEDUR-LackfarbeRAL9003
SignalweißSG,MV5:1HU0001/HU0032
Zolltarifnummer:32082090
Ursprungsland:Deutschland
8 UR1040HRA907-762 60 5kg 300kg 28.09.2021 5,25EUR/kg 2,00 1.543,50
EFDEDUR-Metalleffektlack
graualuminiumRAL9007SM,MV5:1
HU0001
IhreArtikel-Nr.:LAD9007
Zolltarifnummer:32082090
Ursprungsland:Deutschland
9 KP1516HRA735-742 32 25kg 800kg 28.09.2021 3,56EUR/kg 2,00 2.791,04
FREIOPLAST-LackfarbelichtgrauRAL
7035SG
IhreArtikel-Nr.:LAK7035
Zolltarifnummer:32082090
Ursprungsland:Deutschland
答:
0赞
Alex Sveshnikov
9/28/2021
#1
我不确定这是否是你想要的,但也许这个正则表达式会有所帮助:
^(\d{1,3})(?:\s[a-zA-Z0-9-]{1,25}\s\d{1,6})(?:\s\d{1,6}\w{1,10}\s)(\d{1,6})(\w{1,6})\s(\d{1,2}\.\d{1,2}\.\d{4})\s(\d{1,4}\,\d{1,4}(?:[a-zA-Z]{1,4}\/))(?:[^\n]*?)(\d{1,3}\.\d{1,4}\,\d{1,2}|\d{1,3}\,\d{1,3}|\d{1,4})\n(?:^\S[^\n]*?\n)*?IhreArtikel-Nr\.
评论
1赞
KIKO Software
9/28/2021
给出答案而不解释你做了什么,以及为什么,就像在不告诉降落伞如何工作的情况下将学生推出飞机一样。
评论
IhreArtikel-Nr\.:\K\w+