如何在mysql中为3个或更多按顺序的数字创建REGEX模式?

问题描述 投票:0回答:1

我创建了一个正则表达式模式来匹配可以升序或降序的数字序列,例如 12345、123、321、6789、7654 等。但是,我相信这种方法可能不是最有效或最专业的实现方法这个任务。

您能否提供一个更简单的正则表达式来匹配数字序列,无论是升序还是降序?这就是我目前在 Laravel 中实现它的方式

'sequential' => function ($query) {
    $query->orWhereRaw('plate_number REGEXP ?', ['\\b(123(4(5)?)?|234(5)?|345|456|567(8(9)?)?|678(9)?|789|987(6(5)?)?|876(5)?|765|654|543(2(1)?)?|432(1)?)\\b']);
},

我尝试了多种方法来创建精确匹配数字序列的正则表达式模式。然而,我想出的正则表达式模式对我来说似乎不专业。您能否验证一下它是否正确,或者建议一个更好的方法来实现这一目标?该板块广告上有数字,例如 1234,2345, 5432,98765,... 等。

mysql regex laravel pattern-matching
1个回答
0
投票

尝试

/(?:012|123|234|345|456|567|678|789|987|876|765|654|543|432|321|210)\d*/g
© www.soinside.com 2019 - 2024. All rights reserved.