preg_match用于选择字符串,如#__james_name

时间:2014-03-06 06:37:42

标签: php regex

我需要一个正则表达式来选择PHP中的#__james_name之类的文本 我尝试过:

(^#__[a-z]*)*  

但我没有成功。
请帮忙

更新
我尝试过:

\#__([a-z]*)_([a-z]*)

如何在preg_match中使用它?

3 个答案:

答案 0 :(得分:0)

您的分组有点不对,请尝试

^#_(_[a-z]+)*

here on Regexr

^是字符串开头的锚点,你不想重复这一点。我还将*替换为组内的+,因此至少需要一个字母。

现在字符串必须以"#_"开头。然后可以有0个或更多部分以下划线开头,后跟一个或多个(小写)字母。

此正则表达式将匹配:

#_  
#__a  
#__a_b  
#__a_b_ccccc_d_efadsfaksdjh

答案 1 :(得分:-1)

preg_match('/(^#__[a-z_]*)/', '#__james_name', $matches);

答案 2 :(得分:-1)

这样做

$str=preg_replace('/^#__([\w]+)/', '$1', $str);