gpt4 book ai didi

正则表达式在引号内

转载 作者:行者123 更新时间:2023-12-01 09:25:10 25 4
gpt4 key购买 nike

给定一串类似的东西

$uninstallString = '"C:\Autodesk\Dynamo\Core\Uninstall\unins000.exe" /SILENT' 

我正在尝试使用 RegEx 来捕获引号的内容以及空格后的其余部分。这很接近...

$regularExpression = '\"(?<executable>([^\"])\")\s{1,}(?<arguments>(.+))'

但我在可执行文件捕获中得到了结束语。我的理解是 [^\"] 将捕获任何不是引号的内容,从而允许命名捕获之外的转义引号起作用。但是我的理解当然是错误的案件。 ;)我永远不需要嵌套引号、单引号或撇号,所以我尽量保持简单,但仍能捕捉到我需要的内容。

最佳答案

你的 executable组捕获尾随 " , 移动 )向左:

$regularExpression = '"(?<executable>[^"]+)"\s+(?<arguments>.+)'

参见 regex demo .结果:

enter image description here

请注意,我删除了编号的捕获组,因为它们对于您的场景来说似乎是多余的。

详情

  • " - 一个 "字符
  • (?<executable>[^"]+) - 组“可执行文件”:除" 以外的1+ 个字符
  • " - 一个 "字符
  • \s+ - 1+ 个空格(注意 {1,} 等于 + )
  • (?<arguments>.+) - 组“参数”:除换行符外的任何 1 个以上字符。

关于正则表达式在引号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57962271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com