【问题标题】:Get all Content thats between Square Brackets: Regex [duplicate]获取方括号之间的所有内容:Regex [重复]
【发布时间】:2020-01-03 11:03:43
【问题描述】:

我有以下字符串:

“[参数('ECC_Shipment_Trigger_properties_pl_ecc_shipment_adls_sql_parameters_File_system')]”

我想写一个只返回的正则表达式:

参数('ECC_Shipment_Trigger_properties_pl_ecc_shipment_adls_sql_parameters_File_system')

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

参数('一些字符串')

到目前为止,我想出了 (?,它只返回单引号之间的文本。

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

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

【问题讨论】:

    标签: regex regex-group regex-greedy


    【解决方案1】:

    正向后视是一个断言(非消耗性),所以这部分(?<=\[parameters\(') 表示从当前位置断言左侧是[parameters(

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

    值在第一个捕获组中。

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

    Regex demo

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

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

    Regex demo

    【讨论】:

      猜你喜欢
      • 2010-10-18
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2020-02-28
      • 2011-04-09
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      相关资源
      最近更新 更多