regex - 如何查找全部大写字母且不含空格的单词?

标签 regex sublimetext3

我有一个引用书目文件,其中包含示例条目,如下所示:

@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)应该如何查找所有不带空格的大写字母?

最佳答案

请注意,(?=[A-Z])([A-Z\s]+) 首先确保当前位置右侧紧邻一个大写 ASCII 字母,然后匹配(消耗) 1 个或多个大写 ASCII 字符或空白字符。它将匹配 Alice 中的 A,因为 A 满足先行限制并匹配字母。由于模式末尾没有字边界,因此返回有效的匹配 A。它还会匹配 SAPS II(带有尾随空格),因为 \s 匹配空格,而 + 会贪婪地抓取所有连续的大写字母字母和空格。

可以在 SublimeText3 中找到由 2 个或多个大写字符组成的所有完整单词的正则表达式是

\b[[:upper:]]{2,}\b

查看截图:

enter image description here

详细信息

  • \b - 前导字边界
  • [[:upper:]]{2,} - 2 个或更多大写字母
  • \b - 尾随单词边界。

关于regex - 如何查找全部大写字母且不含空格的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46051893/

相关文章:

php - SublimeCodeIntel 不适用于 PHP Sublime Text 3 Ubuntu

python - Sublime Text 设置问题 : Code Not Running

PHP: Signup > USERNAME with only Greek Characters and only one white space

regex - Perl 中的 GPA 正则表达式

javascript - 如何仅用属性和特定类替换 img 标签

java - java中的正则表达式尝试匹配特定格式的字符串(格式由 | sysbol 组成)

javascript - Sublime Text在Ubuntu/Linux上说“No Build System”

python - 我在虚拟环境外安装了一个包,但不能在虚拟环境中使用它

javascript - 从 url 字符串中获取 ID

java - Sublime Text 3 - 插件配置文件