示例文本

回复:SURNAME,FOPENAME(01/01/1901)
9某处,某处,某路,地区,AA1 1AA
一位医生
以上患者参加了

这是我们收到的一部分文字的格式。我们有更多的正则表达式,我快到了。我正在使用以下内容(特定于javascript):

/[^,]*(?:\n|\r)+DOCTOR/

唯一的问题是,它给了我这个字符串作为回报:

AA1  1AA
DOCTOR


我不希望医生在最后。我一直在摆弄它,尝试不同的方法,但是它们要么突出显示文本的其他不同部分,要么就是失败。任何有一个快速的想法如何解决?

最佳答案

如果要在换行符后跟AA1 1AA之前匹配DOCTOR,则可以使用常规正向超前(?=[\r\n]+DOCTOR\b)

[^,]*(?=[\n\r]+DOCTOR\b)


请参见regex demo

前行不占用字符,因此DOCTOR不会成为匹配项的一部分。请注意,在\b之后的DOCTOR会强制进行整个单词匹配,如果不需要,请删除。换行序列可以与字符类[\r\n]匹配,该字符类比交替(?:\n|\r)更有效。

关于javascript - 从单词和逗号之间检索值,但包括定界单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35773239/

10-12 16:23