php - php中preg_replace()函数是如何工作的?
问题描述
我有一个字符串ryyyr #rrrr iituut iit #Google rrr #Tom65
在这个字符串中,我正在通过正则表达式查找所有标签/^#[A-Za-zА-Яа-я0-9_]{4,20}/
我想用阴茎这个词替换所有找到的标签,但由于某种原因没有任何效果
public static function findHashTags () {
$string = 'ryyyr #rrrr iituut iit #Google rrr #Tom65';
$pattern = '/^#[A-Za-zА-Яа-я0-9_]{4,20}/';
$replacement = 'penis';
$a = preg_replace($pattern, $replacement, $string);
return $a;
}
解决方案
在您的正则表达式中,它只是在开头传递的^
字符串。#
您正在寻找的正则表达式是
/#[A-Za-zА-Яа-я0-9_]{4,20}/
或者另一个变体更短(不完全等效,我的意思是它也会为你完成工作)。
#\S{4,20}
推荐阅读
- data-science - 如何在给定的人群中选择要分析的范围?
- python - 名称“USER_INPUT”未定义?(Python 3.9.2)
- security - 通过 GET 请求发送的 CAS 协议票证
- compilation - Gem5 编译时的警告
- unity3d - 我一直收到 NullReferenceException 错误,但它就是不去!有人可以帮我解决这种情况吗?
- javascript - 改变文字的角度
- python - 我想问你如何摆脱typeerror
- android - 使用 CornerPathEffect 时如何计算锐角和圆角之间的距离?
- node.js - 如何创建托管在 Gitlab 上的 npm CLI 包
- css - 如何在 React 中从物化中启用弹出菜单?