我有以下字符串:
Select SizesS M L XL
我想在“选择大小”之后立即拉出尺寸,基本上通过捕获一侧或两侧都有空间的“选择尺寸”。 这必须由regex单独完成,因为ImportIO不支持使用方法。
这是我到目前为止所做的:
(?:Select Sizes)\w(\s\w)*
提前致谢!
答案 0 :(得分:4)
你可以使用lookbehind,
(?<=Select Sizes)(.*)
OR
Select Sizes(\S+)\s*(\S+)\s*(\S+)\s*(\S+)
四个捕获组用于捕获字符串Select sizes
OR
> "Select SizesS M L XL".split(/Select Sizes| /g)
[ '',
'S',
'M',
'L',
'XL' ]
答案 1 :(得分:2)
您可以尝试简单的字符串操作:(如果需要,也可以使用trim()
)
"Select SizesS M L XL".substring(12).split(" ");
或者更好地使用
"Select SizesS M L XL".substring("Select Sizes".length).split(" ");
输出:
["S", "M", "L", "XL"]
如果您只使用捕获组查看前正则表达式,则从下面的正则表达式模式中获取索引2中的匹配组:
(Select Sizes)?\s*(\w+)\s*
注意:我认为Select Sizes
后面没有任何内容,并且只有给定字符串中的大小。
这是demo
答案 2 :(得分:2)
如果您想评估相同的
,这是一个纯正则表达式解决方案(?<!Select\s)(?<=Sizes|\s)(\w+)
匹配所有修饰符/g
适用于上述正则表达式
测试字符串Select SizesS M L XL
MATCH 1
S
MATCH 2
M
MATCH 3
L
MATCH 4
XL