我有一个带有示例条目的参考书目文件,如下所示:
@article{le1993new,
title={A new simplified acute physiology score (SAPS II) based on a European/North American multicenter study},
author={Le Gall, Jean-Roger and Lemeshow, Stanley and Saulnier, Fabienne},
journal={Jama},
volume={270},
number={24},
pages={2957--2963},
year={1993},
publisher={American Medical Association}
}
我希望在这种情况下使用正则表达式查找带有大写字母的所有单词“SAPS”和“II”。以下正则表达式未找到所需的单词:
(?=[A-Z])([A-Z\s]+)
正则表达式(对于ST3)应该如何找到没有空格的所有大写字母?
答案 0 :(得分:1)
请注意,(?=[A-Z])([A-Z\s]+)
首先确保在当前位置的右侧有一个大写的ASCII字母,然后匹配(消耗)1个或多个字符,这些字符是大写的ASCII字符或空格字符。它将与A
中的Alice
匹配,因为A
符合前瞻限制并匹配字母。由于模式末尾没有单词边界,因此返回有效匹配A
。它还会匹配SAPS II
(带有尾随空格),因为\s
匹配一个空格,而+
将贪婪地抓取所有连续的大写字母和空格。
一个正则表达式,它将找到包含2个或更多个可在SublimeText3中工作的大写字符的整个单词
\b[[:upper:]]{2,}\b
见截图:
<强>详情
\b
- 领先的单词边界[[:upper:]]{2,}
- 2个或更多大写字母\b
- 一个尾随字边界。