我需要一个正则表达式来选择PHP中的#__james_name之类的文本 我尝试过:
(^#__[a-z]*)*
但我没有成功。
请帮忙
更新
我尝试过:
\#__([a-z]*)_([a-z]*)
如何在preg_match中使用它?
答案 0 :(得分:0)
您的分组有点不对,请尝试
^#_(_[a-z]+)*
^
是字符串开头的锚点,你不想重复这一点。我还将*
替换为组内的+
,因此至少需要一个字母。
现在字符串必须以"#_"开头。然后可以有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);