regex缺少一个表达式
从下面的文本中,我只需要regex缺少一个表达式,r,R,从下面的文本中,我只需要mn12,但我没有得到它。对于第一个表达式,我得到mn12以及mn14。我只需要mn12 请用一些东西更改以下内容。mn12*操作0010为mn14-f10 '\\b(m|s|x|p)(n|s|t)[[:alnum:]]{2}\\b') '\\b(m|s|x|p)(n|s|t)[[:alnum:]]{2}[^-]\\b') 请告诉我哪里出了问题 您需要将数字限制在1-2之间。 通常[1-9]捕获1到9之间的数字,因此在您的情况下,它将是[1-2] '\\b(m|s|x
mn12
,但我没有得到它。对于第一个表达式,我得到mn12
以及mn14
。我只需要mn12
请用一些东西更改以下内容。mn12*操作0010为mn14-f10
'\\b(m|s|x|p)(n|s|t)[[:alnum:]]{2}\\b')
'\\b(m|s|x|p)(n|s|t)[[:alnum:]]{2}[^-]\\b')
请告诉我哪里出了问题 您需要将数字限制在1-2之间。 通常[1-9]捕获1到9之间的数字,因此在您的情况下,它将是[1-2]
'\\b(m|s|x|p)(n|s|t)[1-2]{2}\\b'
你的
[[:alnum:]{2}
并不意味着“后面跟2的任何数字”。它的意思是“两位数的任意序列”
您使用[:alnum:]而不是\\d
有什么原因吗
如果您希望捕获mn12
,而不是mn14
,请使用
'\\b(m|s|x|p)(n|s|t)[[:alnum:]]2\\b'
根据您的评论,如果您需要2个小写字符后跟2位数字,那么它就是,
\\b[a-z]{2}\\d{2}\\b
数字可以是任何数字。它可以是ms79,我们可以说前两个是字符,然后下两个是字母数字,然后是空格使用这个:'\\b(m | s | x | p)(n | s | t)[0-9]2\\b'