Regex 正则表达式以递归方式捕获命令
我想用动态组匹配捕获我的命令…Regex 正则表达式以递归方式捕获命令,regex,Regex,我想用动态组匹配捕获我的命令… 我不熟悉正则表达式,但它可能需要一个递归组。不过,我还是不懂语法 some command content;some other command;another one 我的组可以是之间的任意字符 下面是我的代码尝试,但它只适用于前两组: (.+)[;]*(.*) 您可能想得太多了:[^;]+将为您提供分号之间字符串的所有部分。不需要递归 测试它。试着用这个 (.+);* 或 我的做法是: const text = 'some command content;
我不熟悉正则表达式,但它可能需要一个递归组。不过,我还是不懂语法
some command content;some other command;another one
我的组可以是之间的任意字符代码>
下面是我的代码尝试,但它只适用于前两组:
(.+)[;]*(.*)
您可能想得太多了:[^;]+
将为您提供分号之间字符串的所有部分。不需要递归
测试它。试着用这个
(.+);*
或
我的做法是:
const text = 'some command content;some other command; another one;'
const regex = '/[\s\S]*;/gi'
console.log(text.match(regex))
产出将是:
['一些命令内容;一些其他命令;另一个;']
[\s | s]*->\s匹配空格(空格、制表符和新行)\S是
否定\s。(*)表示事件必须出现零次或多次
;->符号“;”如果你使用的是编程语言,你可能会在分号上分割你的字符串。C++,这有点让人讨厌。这会捕获组中的整个字符串,以获得C++中的所有匹配。
const text = 'some command content;some other command; another one;'
const regex = '/[\s\S]*;/gi'
console.log(text.match(regex))