首页 > 解决方案 > 正则表达式缺少表达式

问题描述

从以下文本中,我只需要mn12但我没有得到它。使用第一个表达式,我得到mn12mn14. 我只是需要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')

请指导我哪里出错了。

标签: r

解决方案


你的[[:alnum:]]{2}意思不是“任何数字后跟 2”。它的意思是“任何两位数字的序列”。

您使用 [:alnum:] 代替 是有原因的\\d吗?

如果您要捕获mn12但不是mn14,请使用

'\\b(m|s|x|p)(n|s|t)[[:alnum:]]2\\b'

推荐阅读