我在R中使用正则表达式从变量中提取字符串。变量包含看起来像不同的值:正则表达式:匹配多个单词
MEDIUM/REGULAR INSEAM
XX LARGE/SHORT INSEAM
SMALL/32" INSM
X LARGE/30" INSM
我必须捕获两件事:整体(小,XX大)/
之前的值和它后面的字符串(字母或数字)。我不想要" INSM
或INSEAM
部分。
正在使用的前两个正则表达式是([A-Z]\w+) \/([A-Z]\w+) INSEAM
,最后两个正在使用([A-Z]\w+) \/([0-9][0-9])[" INSM]
。 部分([A-Z]\w+)
只能捕获一个单词,所以对于MEDIUM和SMALL可以正常工作,但对于X LARGE,XX LARGE等失败。是否有方法可以修改它以在/
字符之前捕获两个单词的发生?还是有更好的方法来做到这一点?
在此先感谢!
尝试['(W + \ w +(?:\)?)* \/*(\ w +“(?:\ w +)? )'](https://regex101.com/r/zA3bA8/1) –
感谢Wiktor,但它也捕获INSM/INSEAM部分我已经编辑了这个问题来反映这一点 – gagandeep91
所以,甚至更简单['(\ w +(?: \ w +)?)* \/*(\ w +)'](https://regex101.com/r/zA3bA8/3)可能会做什么? –