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

时间:2020-01-03 11:03:43

标签: regex regex-group regex-greedy

我有以下字符串:

“ [参数('ECC_Shipment_Trigger_properties_pl_ecc_shipment_adls_sql_parameters_File_system')]”

,我想编写一个仅返回的正则表达式:

参数('ECC_Shipment_Trigger_properties_pl_ecc_shipment_adls_sql_parameters_File_system')

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

参数(“某些字符串”)

到目前为止,我已经想到了(?<= [parameters(')。+?(?=')),它仅返回单引号之间的文本。

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

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

1 个答案:

答案 0 :(得分:1)

正向后面是一个断言(非消耗性),因此这部分<div>Number of active elements: {{(product | filter:{active:true}:true).length}} </div> //number of all elements <div>Number of inactive elements: {{(product | filter:{active:false}:true).length}} </div> //number of all elements 意味着从当前位置起它断言的是(?<=\[parameters\(')

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

该值在第一个捕获组中。

'

Regex demo

如果您想使用环视,则可以选择此选项,断言左侧为\[(parameters\('[^']+'\))\] ,右侧为[

]

Regex demo