【发布时间】:2023-04-07 22:53:01
【问题描述】:
给定以下字符串:ThisIsA_SimpleTest_Case
我想分割所有大写单词而不是下划线之间的字符串以及下划线之间的字符串的第一个下划线。
预期的拆分结果:这是一个SimpleTest案例
我想出了以下不工作的正则表达式,用于 Java 正则表达式风格:
(?=_[a-zA-Z]*_|[A-Z])
但这当然行不通,因为它是 or 而不是 and。此外,这会拆分下划线内的所有大写单词,这是我想忽略的。
【问题讨论】:
-
看来你应该匹配,比如
_[^_]*_|(?<![A-Z])[A-Z][a-z]* -
我想分割所有大写的单词而不是在下划线之间和在下划线之间的字符串的第一个下划线。令人困惑!你能再改一下吗?
-
-
下划线可以有多对吗?还是最多一个?
标签: java regex regex-lookarounds