我想匹配以某个字符(星号)开头的字符串部分:
abc*DEFxyz
=> *DEF
abc*DE*Fxyz
=> *DE
,*F
尝试preg_match_all('/[$\*A-Z]+/', $string, $matches);
但它似乎不起作用。我在第二个例子中得到*DE*F
答案 0 :(得分:4)
答案 1 :(得分:1)
尝试:
^[^*]*\*
说“从行的开头,跳过所有非星号字符并停在第一个”
扩展这个:
s/^[^*]*\*(.*)/
将在星号后面返回字符串的剩余部分。要包含星号,请按以下方式进行调整
s/^[^*]*(\*.*)/
这是检查正则表达式的绝佳工具:http://gskinner.com/RegExr/
希望这有帮助