私はこれをあまりにも長く見てきたと思います。この正規表現を機能させることができないようです。
コード:
$pattern='/([0-9A-Z\-])*(#)(\s*)/i';
if (preg_match($pattern,'B-25-1abc-SW-19# ',$matches) ) {
echo $matches[0];
}
(コメントから):テキストが
出力されることを期待していましたB-25-1abc-SW-19#
が、ifステートメントの真の部分に入っていないため、何も出力されません。
また、パターンを次のように変更してみました。
$pattern='/^$([0-9A-Z\-])*(#)(\s*)/i';
しかし、それも修正されていません。