PHP preg_replace 匹配特殊字符后的数字

PHP preg_replace match numbers following a special character

我正在创建一个评论板功能,允许用户引用 post-ID,这将由正则表达式自动配置以超链接到相关的 post。

帖子引用格式如下,使用双箭头 ASCII 符号:»1234

6 个数字最多可以跟在双箭头后面,以便引用被超链接,所以 »1234567 不会超链接,但是 »1»12»123, 等等

我将如何使用正则表达式执行此操作?

这是一个解决方案:» 匹配箭头字符,\d 匹配 0 到 9 之间的数字,{1,6} 指定至少应跟在 1 和最多 6 个数字之后.如果只想匹配整个单词,可以在正则表达式的前后使用单词边界 (\b)。如果你想检查整个字符串是否只包含这个模式,你可以使用一个锚点(^ 在开头,$ 在结尾)。

»\d{1,6}

匹配特殊字符后接1-6位数字再接单词边界,因此如果它与任何其他字符串连接则不会匹配。

»\d{1,6}\b