我需要清理包含这样字符串的数据库:
<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)
但是如何剥去其他人?
答案 0 :(得分:1)
既然你要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);
答案 1 :(得分:1)
使用REGEX
的{{1}}尝试这种方式,只选择字符串列值的数字
MYSQL