我想要一个Java正则表达式字符串,它可以找到字符串中的所有元音,除非它们:
AREA_ID成为
AR_ID
LONG_NAME成为
LNG_NM
HOME_ALONE成为
HM_ALN
我玩过http://gskinner.com/RegExr和 我目前有以下正则表达式替换所有元音,除非它是起始字符 p>
(?!^[AEIOU])[AEIOU]
我无法弄清楚如何获得第二部分(忽略紧跟下划线的元音)。
答案 0 :(得分:1)
我猜你正在使用JavaScript,在这种情况下会这样做:
(?!(?:^|_))_?[AEIOU]
但是,如果您使用的是支持lookbehinds的正则表达式,请尝试以下方法:
(?<!^)(?<!_)[AEIOU]
请注意,需要两个lookbehinds,因为lookbehind必须具有固定长度,“字符串的开头或下划线”不会。