Javascript正则表达式帮助,负面展望

Javascript regex help, negative lookahead

本文关键字:正则表达式 帮助 Javascript      更新时间:2023-09-26

我今天正在与一些正则表达式作斗争,虽然我已经在这里的一些旧线程的帮助下抨击了其中的几个,但我有点卡在最后一个上。

Data sample
SOMETEXT
OTHERWORDS
po8 34t
NAME. VALUE
SURNAME. VALUE

NAME后面是一个我想尝试提取的邮政编码。显然,邮政编码可以是 6 位或 7 位数字(+1 空格(。所以我对邮政编码的负面展望的方法,所以我尝试了这个,希望使用换行符作为停止点(基本上阅读 NAME 上方的每一行,直到上一行:

/NAM(?!([/s/S]))/

但这似乎不是一个可行的解决方案。我已经在方括号中玩过其他片段,但这几乎就是我现在所处的位置。然后我想到了子字符串,但我找不到任何特定于 javascript 的好正则表达式资源。有什么想法吗?

也许有更好的方法可以通过我也开放的正则表达式来做到这一点?

TEST DATA ADDED ON REQUEST
ORGANISATION CODE
ORGANISATION NAME
ORGANSIATION DEPT
Tel:  0000 777 6666 ROAD
Fax: 0000 777 6666 PLACE
REGION
ZIP
NAME
CODE
ADDRESS1,
ADDRESS NAME,
ADDRESS PLACE,
REGION1
AA6 1ZZ (POSTCODE)
NAME: SURNAME, FORENAME
SPELL NO. 1111111
PERSON ID. 1111111A
SPOUSE ID. 2222222B
Date: 11 Month Year
LETTER CONTENTS (WILL VARY)

所以我追求的值在(邮政编码(之前,在 NAME 之前,但REGION1可能非常不同

更新

/(?:'n|'r)+(.{6,7})(?:'n|'r)+NAME:/可能更严格才能得到你想要的东西


/(.+)(?:'n|'r)+NAME:/是一个简单的,只是采取之前的路线NAME:

如果我理解你的问题,也许这对你有帮助:

NAME'.(['s]?)('d{6,7})

如果要在 JS 中使用它,请对组使用g修饰符。