获取方括号之间的所有内容:正则表达式

Get all Content thats between Square Brackets: Regex

我有以下字符串:

"[参数('ECC_Shipment_Trigger_properties_pl_ecc_shipment_adls_sql_parameters_File_system')]"

我想写一个仅 return 的正则表达式:

参数('ECC_Shipment_Trigger_properties_pl_ecc_shipment_adls_sql_parameters_File_system')

请记住,我只需要以以下内容开头的内容:

参数('some string')

到目前为止,我想出了 (?<=[parameters(').+?(?=')),其中只有 return 的文本在单引号之间。

为了测试,我正在使用 https://regexr.com/

如何修改当前的正则表达式以获得此结果?

positive lookbehind 是一个断言(非消耗),所以这部分(?<=\[parameters\(')意味着从当前位置断言左边的是[parameters(

您可以使用捕获组和 negated character class 来匹配除 ' 以外的任何字符,而不是环顾四周。

该值在第一个捕获组中。

\[(parameters\('[^']+'\))\]

Regex demo

如果你想使用环视,这可能是一个选项,断言左边是 [ 右边是 ]

(?<=\[)parameters\('[^']+'\)(?=\])

Regex demo