我有以下字符串:
Select SizesS M L XL
而且我想在“选择尺寸”之后立即提取尺寸,基本上是通过在一侧或两侧捕获不是“选择尺寸”的所有内容。这必须由正则表达式单独完成,因为 ImportIO 不支持使用方法。
这是我到目前为止所拥有的:
(?:Select Sizes)\w(\s\w)*
提前致谢!
您可以尝试简单的字符串操作:(如果需要,也可以使用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*
Note: I assume there is nothing behind the Select Sizes
and there are only sizes in the given string.
Here is demo
Here is a pure regex solution if you would like to evaluate the same
(?<!Select\s)(?<=Sizes|\s)(\w+)
match all modifier /g
is applied to above regex
result for the test string Select SizesS M L XL
MATCH 1
S
MATCH 2
M
MATCH 3
L
MATCH 4
XL
demo at regex101.com