【问题标题】:Regex - replace wrappers around strings正则表达式 - 替换字符串周围的包装器
【发布时间】:2016-03-17 03:35:07
【问题描述】:

什么是正则表达式可以变成这样:

{{ Form::label('events', 'Events') }}

进入这个:

<label for="events">Events</label>

我需要字符串“events”和“Events”保持完整。

【问题讨论】:

  • 除非你喜欢头发过早变白的想法,否则不要使用正则表达式。
  • 为什么不呢?提供的解决方案效果很好。

标签: regex string search replace wrapper


【解决方案1】:

试试这个:

s/.*::(.*?)\('(.*?)',\s'(.*?)'.*/<$1 for="$2">$3</$1>/

DEMO

【讨论】:

    【解决方案2】:

    这也适用于您的示例,使用 sed 格式化:

    sed -E "s#[^']+'([^']+)', '([^']+)'.*#<label for=\"\1\">\2</label>#"
    

    如果你想分成两部分:

    s#[^']+'([^']+)', '([^']+)'.*
    <label for=\"\1\">\2</label>
    

    【讨论】:

    • 你硬编码了label。为什么不捕获并重复使用?
    • 哈...我没有注意到,因为请求者关注的是“事件”和“事件”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    相关资源
    最近更新 更多