我正在try 计算出一个在PATINDEX中使用的正则表达式,该正则表达式将匹配特定的模式(因此是PATINDEX).
我需要将前3个字符与003完全匹配 第4个字符可以是除U之外的任何字母字符 他说: 我把这个用在003和A-Z上
SELECT PATINDEX('%[0][0][3][A-Za-z]%', '003A654')
我试图否定UU,但它没有起作用,它仍然看到了模式.当我把它选到RegExr的时候,它不会认为它否定了U,除非我把它放到它自己的组里,但这也不起作用.
SELECT PATINDEX('%[0][0][3][A-Za-z^Uu]%', '003U654')
SELECT PATINDEX('%[0][0][3][A-Za-z][^Uu]%', '003U654')
我知道我可以用PATINDEX和ADD AND SUBSTRING('003U654',4,1) <> 'U'
做一些难看的事情,比如匹配003(Alpha),但如果可能的话,我更喜欢做得更干净.