mysql 中的文本匹配需要一个正则表达式

Need a Regular expression for text match in mysql

你好,我的 sql 查询需要一个正则表达式来匹配文本

"SIP/(10 NUMBERS)"

等于

"SIP/1234567890"

"SIP" 为文字 和 10 个随机数 0-9

更新

最终文本是 SIP/0123456789-000001cc

其中

"SIP/" is text

"0123456789" Always 10 digits 

"-" is character 

"000001cc" is random alphanumeric

使用\转义/

以下 RegEx 以 SIP 为目标,后跟 /,然后是 10 个数字字符:

SIP\/\d{10}

您可以使用这个正则表达式:

^SIP/[[:digit:]]{10}-

示例:

mysql> select 'SIP/0123456789-000001cc' regexp '^SIP/[[:digit:]]{10}-';
+----------------------------------------------------------+
| 'SIP/0123456789-000001cc' regexp '^SIP/[[:digit:]]{10}-' |
+----------------------------------------------------------+
|                                                        1 |
+----------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select 'SIP/123456789-000001cc' regexp '^SIP/[[:digit:]]{10}-';
+----------------------------------------------------------+
| 'SIP/123456789-000001cc' regexp '^SIP/[[:digit:]]{10}-' |
+----------------------------------------------------------+
|                                                        0 |
+----------------------------------------------------------+
1 row in set (0.00 sec)