Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

regex - Regular expression exclude double character

I need to have regular expression which find a character which not following by same character after it. Mean exclude double even multiple same character.

For example, when i need to find 'e' character from string: "need only single characteeer", it is mean will find 'e' on each words breakdown as below:

"need" > not match because it has double 'e'

"only" > not match because no 'e'

"single" > match because has only single 'e'

"characteeer" > not match because has multiple of 'e'

Not sure whether it is possible or not. Any answer or comment will be highly appreciated. Thanks in advance.

UPDATE

Maybe my question above still ambiguous. Actually i need to find the 'e' character only instead the words. I am going to replace it with double character. So the one which already has double character will not replaced.

The main purpose is to replace 'e' with 'ee' for example. But the one which has 'ee' or 'eee' already, or even more 'e', will be untouched.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

UPDATE:

(?<!e)e(?!e)

Will match e not with negative lookbehind to prevent preceeding e and negative lookahead preventing following e.

Can be checked here

(([A-Za-z])(?!2))+

Will match a word (sequence of one or more characters between A-Za-Z), with negative lookahead which prevents following character to be the same as last match, group 2, or using non capturing group.

/(?:([A-Za-z])(?!1))+/g

however only will match because it doesn't contain repeated character. to match a word containing e but no ee

/(?<![a-z])(?=[a-z]*e)(?![a-z]*ee)[a-z]+/gi

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...