我有一些代码将驼峰字符串分成一个句子,每个单词用空格分隔。我已经设法使用正则表达式(?=\p{Lu})
,但我现在也想排除一组应该保持原样的camelCase子串。分隔驼峰字符串中的每个字词,除了某些白名单中的字符
例如,如果我想保存的话是Class
和MultiWordClass
,我会想:
containsAClassName -> contains A Class Name
containsAMultiWordClassName -> contains A MultiWordClass Name
(the positions not to match) --> ^^
我的问题是我怎么可以扩展表达式不匹配我想要的话内侧的位置保存。或者可能的话,如果这是不可能的,我如何使用正则表达式和Java的组合来实现它。我一直在尝试一段时间,并且无法提出可行的解决方案。我正在使用Java的正则表达式引擎。
我修改了一些模式(MultiWordClass | Class | \ p {L})(?= \ p {Lu} | $)',以确保识别单词的部分匹配不匹配。 (L = unicode字母,Lu = unicode字母大写) – henko
对,我没有考虑到这一点。 –