获取没有小写字母的字符串末尾的子字符串

joa*_*s93 1 java regex substring pattern-matching

我有一些字符串:

[POS Purchase]
POS Signature Purchase International  SKYPE COMMUNICATIO, LUXEMBOURG, LUX
Run Code Online (Sandbox Code Playgroud)

要么:

ATM Cash Withdrawal. Surcharge: -3.0  BNEAIR INT DP LSL4 2, BNE AIRPORT, AUS
Run Code Online (Sandbox Code Playgroud)

我希望得到任何字符但小写字母的字符串的结尾.对于上面的两个例子,答案应该是:

SKYPE COMMUNICATIO, LUXEMBOURG, LUX
Run Code Online (Sandbox Code Playgroud)

BNEAIR INT DP LSL4 2, BNE AIRPORT, AUS
Run Code Online (Sandbox Code Playgroud)

如何通过正则表达式实现此目的?

Kas*_*mvd 5

根据您的需要,您正在寻找以下正则表达式:

[^a-z]+$
Run Code Online (Sandbox Code Playgroud)

否定的字符类[^a-z]+将匹配任何无小写字符的组合,并且锚$将使该正则表达式引擎与字符串的结尾匹配.

但请注意,这将-3.0在你的第二个例子中匹配.如果你想获得那个你可以放在[A-Z]你的正则表达式的领先:

[A-Z][^a-z]*$
Run Code Online (Sandbox Code Playgroud)

正则表达式可视化

Debuggex演示


您可以从这里开始了解有关正则表达式的更多信息http://www.regular-expressions.info/