给出...
var parts = 'value[1]'.split(/\[\]/);
要使用的正则表达式是什么...
parts[0] === 'value';
parts[1] === '1';
我上面的正则表达式不起作用。
答案 0 :(得分:4)
仅当'['后跟']'时,您的正则表达式才匹配。 您要使用“或”:
var parts = 'value[1]'.split(/\[|\]/);
提示:我使用https://regex101.com/很好地解释了正则表达式详细匹配的内容。或者,对于.NET:http://regexstorm.net/tester
答案 1 :(得分:3)
我建议为此使用match
:
match = 'value[1]'.match(/(\w+)\[(\d+)\]/)
match[1] // "value"
match[2] // "1"
此处的匹配项将匹配任何单词字符(\w+
),后跟[
,然后是任意数量的数字(\d+
),后跟]
。