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
我正在创建一个评论板功能,允许用户引用 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