示例文本
回复: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/