我需要清理包含如下字符串的数据库:
<a href="/members/a/" title="a">a</a> ist der Gruppe <a href="/groups/3106/">a</a> beigetreten
或者也
<a href="/members/a/" title="a">a</a> ist der Gruppe <a href="/groups/3106_123/">a</a> beigetreten
或者也
<a href="/members/a/" title="a">a</a> ist der Gruppe <a href="/groups/3106_A/">a</a> beigetreten
或者也
<a href="/members/a/" title="a">a</a> ist der Gruppe <a href="/groups/3106A/">a</a> beigetreten
我只需要/groups/
后面的数字部分,所以在这个例子中,只需要“3106”。该数字的长度是可变的。
剥离第一部分很容易:
SUBSTRING(field, locate('groups/', field)+7)
但是如何去掉其余部分呢?
最佳答案
既然您要求 PHP regex ,在这里:
(?<=\/groups\/)[0-9]+
PHP 示例代码:
$re = "/(?<=\\/groups\\/)[0-9]+/";
$str = "<a href=\"/members/a/\" title=\"a\">a</a> ist der Gruppe <a href=\"/groups/3106A/\">a</a> beigetreten";
preg_match_all($re, $str, $matches);
关于mysql - 在MySQL中提取字符串的数字部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29628382/