我有一些代碼將駝峯字符串分成一個句子,每個單詞用空格分隔。我已經設法使用正則表達式(?=\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
對,我沒有考慮到這一點。 –