php - 如何使用php获取字符串中以 '#'开头的单词?

标签 php regex string preg-match preg-match-all

<分区>

我有这句话

"My name's #jeff,what is thy name?"

现在我想从这句话中得到#jeff。 我试过这段代码

for ($i=0; $i <=substr_count($Text,'#'); $i++) { 
    $a=explode('#', $Text);
    echo $a[$i];
}

但它返回 #jeff,what is thy name? 这不是我的灵魂所渴望的

最佳答案

有更简单的解决方案。使用 preg_match()使用正则表达式查找字符串的目标部分。

preg_match("/#\w+/", $str, $matches);
echo $matches[0]

检查demo中代码的结果

如果你想得到所有匹配的字符串,使用preg_match_all()找到所有匹配项。

preg_match_all("/#\w+/", $str, $matches);
print_r($matches[0]);

关于php - 如何使用php获取字符串中以 '#'开头的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40441603/

相关文章:

php - 将空值设置为不在 MySQL 中的日期

ruby - 正则表达式根据之前匹配的内容匹配某些内容

javascript - 如何将包含科学记数法的字符串转换为正确的 Javascript 数字格式

javascript - 使用 AJAX 调用 php 函数一直失败

php - 将文本和所见即所得表单提交到数据库和平面文件

javascript - PHP/JavaScript 进度条

正则表达式以随机顺序精确显示字符数

ruby - 如何使用变量通过正则表达式来匹配这段代码?

javascript - 如何在js中使用.match(regEx)仅获取没有分隔符的内部字符串?

java - 有没有一种简单的方法可以将整数字符串转换为单个整数