正则表达式 - 只获取最后一个大写字母

标签 regex

我尝试在这句话的最后只获取大写字母

abc N°12558 to company ABC DEF GH 123

我只想选择 ABC DEF GH

我尝试了这个,但是最后一个 make 问题中的数字

(.[A-Z\s]+)*$

最佳答案

您可以使用此正则表达式进行前瞻:

\b[A-Z]+(?:\s+[A-Z]+)*(?=[^A-Z]*$)

RegEx Demo

正则表达式详细信息:

  • \b:字边界
  • [A-Z]+:匹配包含 1 个以上大写字母的单词
  • (?:\s+[A-Z]+)*:匹配 0 个或多个空格分隔的大写单词
  • (?=[^A-Z]*$):先行断言前面没有任何大写字母

关于正则表达式 - 只获取最后一个大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65598269/

相关文章:

regex - 帮助在类似 C 的语言中提取匹配花括号之间的文本 block

jquery - 正则表达式不忽略字母大小写

python - 正则表达式查找文本文件中字符串的所有出现位置。如何?

regex - bash - 如何从 bash 脚本中将换行符传递给 perl?

regex - 如何使用 Perl 正则表达式在 Screen 中搜索模式?

javascript - 为什么这个正则表达式在有或没有连字符/破折号转义的情况下都可以工作

regex - 从批处理脚本中的字符串中提取数字

python - re.findall 表现得很奇怪

ios - 如何从字符串中获取 NSDate

java - 我的正则表达式 {2,3} 有什么问题