 
                        需要匹配的字符串 "[981222123412306728] TEL[13388888888]"
后面的手机号码,有可能有,有可能没有,应该怎么写呢?
我是这么写的,但是只能匹配出前面的 981222123412306728, 后面的手机号码没办法匹配
([0-9xX]{15,18})[\S\w\da-zA-Z\\[\\]  \s]*(1[0-9\\-]{10,12})?
981222123412306728 和13388888888的前面,中间,后面,可能是任意字符,是不确定的;)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
不知道你这个手机号有可能有,有可能没有是指哪一种情况,没的时候要什么结果,我先按我的理解来了
看第一部分应该是身份证号,
下面这个,先匹配[18位身份证](考虑17位的情况就改成[0-9xX]?),再匹配TEL,并匹配TEL两边有空格的情况,再匹配[手机号],手机号匹配完全没有([]也没有)的情况,或者有[]里面10-12位数字的情况
/(?:[^\d]|\b)(\d{15}(?:\d{2}[0-9x])?)[^\d]+(1\d{10})(?:[^\d]|\b)/i虽然你说他们之前这后之间都可能是任意字符,但是我是把数字除开了的。