正则表达式捕获可移动组
Regex capturing moveable groups
如何捕获可以改变位置的组?例如,如果我有一个包含文件名和文件夹名的命令,我想要一个可以捕获这两个命令的名称和文件夹名的正则表达式:
--name "name" --folderName "folderName"
--folderName "folderName" --name "name"
我可以这样写:
"(--name (?<name>\w+) --folderName (?<folderName>\w+))|(--folderName (?<folderName>\w+) --name (?<name>\w+))"
但这显然很长,如果我有两个以上的组,它会更长。我想知道是否有更有效的方法来做到这一点?
试试这个:"(?<=--name \")[^\"]+|(?<=--folderName \")[^\"]+"
如何捕获可以改变位置的组?例如,如果我有一个包含文件名和文件夹名的命令,我想要一个可以捕获这两个命令的名称和文件夹名的正则表达式:
--name "name" --folderName "folderName"
--folderName "folderName" --name "name"
我可以这样写:
"(--name (?<name>\w+) --folderName (?<folderName>\w+))|(--folderName (?<folderName>\w+) --name (?<name>\w+))"
但这显然很长,如果我有两个以上的组,它会更长。我想知道是否有更有效的方法来做到这一点?
试试这个:"(?<=--name \")[^\"]+|(?<=--folderName \")[^\"]+"