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
331 views
in Technique[技术] by (71.8m points)

javascript - Regex for increasing/decreasing number pattern

How can I test for an increasing or decreasing number pattern in a string? Assuming the string is just a number.

Ex:

var regexp = new RegExp(...) // something here
regexp.test("123456789") //true
regexp.test("121231234") //false
regexp.test("987654321") //true
regexp.test("5678901234") //true

The test would be for a cycle of digits really. How could this be achieved?

See Question&Answers more detail:os

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

1 Reply

0 votes
by (71.8m points)

This mess of a regex is the best I can produce. It finds groups of ascending or descending numbers. You'd need to throw a starting and ending check on either end but, I didn't know what kind you want. For example you may want to have start line(^) and end line($) wrapped around this regex. It uses lookaheads which you may want to lookup if you are unfamiliar http://www.regular-expressions.info/lookaround.html.

(((?=01|12|23|34|45|56|67|78|89|90)d)+|((?=
09|98|87|76|65|4|43|32|21|10)d)+)d

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

...