我的字符串看起来像这样:
"Chitkara DK, Rawat DJY, Talley N. The epidemiology of childhood recurrent abdominal pain in Western countries: a systematic review. Am J Gastroenterol. 2005;100(8):1868-75. DOI."
Run Code Online (Sandbox Code Playgroud)
我想要的是获得大写字母(仅作为单独的单词)直到第一个点,得到:DK DJY N.但是之后不是其他人物,比如J DOI.
这是我的Java类Pattern的代码部分:
\\b[A-Z]{1,3}\\b
Run Code Online (Sandbox Code Playgroud)
正则表达式中是否有一般选项可以在某些字符后停止匹配?
您可以使用contionous匹配\G并从第一个捕获组中提取所需的匹配:
(?:\\G|^)[^.]+?\\b([A-Z]{1,3})\\b
Run Code Online (Sandbox Code Playgroud)
您需要使用该MULTILINE标志在多行上下文中使用它.如果您的内容始终是一行,则可能会|^从您的模式中删除.
请参阅https://regex101.com/r/JXIu21/3
请注意,regex101使用PCRE模式,但所有使用的功能也可用于Java正则表达式.
| 归档时间: |
|
| 查看次数: |
707 次 |
| 最近记录: |