我有一个场景,我需要使用正则表达式从字符串中获取特定模式。
字符串如下所示:
${text} = Slot 0 l 5 3 24+6
Slot 1 l 3 16 10
Slot 3 l 4 3 32
Slot 8 l 2 3
Slot 9 l 1 3
在这里,我只需要获取
Slot 0
Slot 1
Slot 3
Slot 8
Slot 9
我该怎么做?
我尝试过使用关键字' Replace String Using Regexp'和#39;获得Regexp匹配'对于相同的。
${text}= String.Replace String Using Regexp ${response} [^Slot\\s+\\d], ${EMPTY}
结果是:
${text} = Slot 0 l 5 3 24+6 Slot 1 l 3 16 10 Slot 3 l 4 3 32 Slot 8 l 2 3 Slot 9 l 1 3 –
并且Get Regexp Matches
给出了以下结果:
${matches}= String.Get Regexp Matches ${response} [Slot\\s+\\d]
结果:
${matches}= ['S', 'l', 'o', 't', ' ', '0', ' ', ' ', ' ', 'l', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '5', ' ', '3', ' ', ' ', '2', '4', '+', '6', '\r', '\n', 'S', 'l', 'o', 't', ' ', '1', ' ', ' ', ' ', 'l', ' ', ' ... –
答案 0 :(得分:2)
解决方法是删除' Get Regexp Matches' 关键字中用于正则表达式的方括号。
即,使用 Slot \ s + \ d + 而不是 [Slot \ s + \ d +]
这是因为[]匹配来自的单个字符list和我的要求是获取整个子字符串。
谢谢@Todor