我想用动态组匹配来捕获我的命令...
我不熟悉正则表达式,但它可能需要一个递归组。不过,我不懂语法。
some command content;some other command;another one
我的群组可以是;
之间的任何字符。
这是我对代码的尝试,但它只适用于前两组:
(.+)[;]*(.*)
答案 0 :(得分:0)
你可能会过度思考:[^;]+
会在分号之间给你字符串的所有部分。不需要递归。
答案 1 :(得分:0)
尝试使用此功能 (+); *
或
(.+)(;*)(.*)
答案 2 :(得分:0)
我的方法就是这样:
const text = 'some command content;some other command; another one;'
const regex = '/[\s\S]*;/gi'
console.log(text.match(regex))
输出将是: ['一些命令内容;一些其他命令;另一个;' ]
[\ s | s] * - > \ s匹配空格(空格,制表符和新行)。 \是的 否定了。 (*)表示事件必须出现零次或多次。
- >符号';'必须包括在内。