diff --git a/app/Console/Commands/UpdateCompany.php b/app/Console/Commands/UpdateCompany.php index 53563f7..fcce4c3 100755 --- a/app/Console/Commands/UpdateCompany.php +++ b/app/Console/Commands/UpdateCompany.php @@ -228,8 +228,10 @@ class UpdateCompany extends Command // 上市代码正则:匹配全球各地上市公司股票代码后缀 // 支持的后缀:.SH,.SZ,.BJ,.TW,.HK,.SG,.US,.DE,.FR,.JP,.KR,.N,.O,.A,.PK,.Q,.TO,.AX,.L,-S,-B,-SB,-P,-Z,-W,-SW,-SWR,-R,-WR,-X,-SS,-RS,.WS,.U,.PR,.B,.DB,.UN,.RT,.WT,.E,.C,.D,.F,.G,.H,.I,.J,.K,.L,.M,.N,.O,.P,.V,.Y,.Z - // 匹配格式:数字+后缀(.或-开头),按长度从长到短排序避免误匹配 - $stockCodePattern = '/\d+[.\-](SWR|SW|WR|SS|RS|SB|PK|TO|AX|WS|PR|DB|UN|RT|WT|SH|SZ|BJ|TW|HK|SG|US|DE|FR|JP|KR|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|U|V|W|X|Y|Z)(?=[,\s]|$)/i'; + // 简化匹配:只要字符串中包含分隔符(.或-)+指定后缀,就算上市 + // 支持格式:688001.SH、AAPG.O、TSLA.US、华兴源创(688001.SH)等 + // 后缀按长度从长到短排序,避免短后缀误匹配 + $stockCodePattern = '/[.\-](SWR|SW|WR|SS|RS|SB|PK|TO|AX|WS|PR|DB|UN|RT|WT|SH|SZ|BJ|TW|HK|SG|US|DE|FR|JP|KR|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|U|V|W|X|Y|Z)(?![A-Za-z0-9])/i'; $updatedCount = 0; foreach ($companies as $company) {