我们正在尝试在 tpl 文件中使用 regex_replace :
{$item->order->order->notes_priv|regex_replace:"/.+?(?=MATCH)/":""}
但这会留下“MATCH”之后的所有字符串,而不是“MATCH”之后唯一的第一个字符串。
我们有这段文本,只想在单词后输入一个字符串
MATCH
:
foo bar foo bar MATCH 12 foo bar
foo bar foo bar MATCH 24,00 foo bar
我们如何进行输入?
12
24,00
我们尝试了很多解决方案但没有成功。
你可以使用
regex_replace:'/.*MATCH\s+(\S+).*/':'$1'
请参阅 正则表达式演示。
主要思想是匹配整个字符串,仅捕获一部分并替换为对捕获的组值的反向引用。
详情:
.*
- 除了换行符之外的任何零个或多个字符,尽可能多MATCH
- 文字字符串\s+
- 一个或多个空格(\S+)
- 第 1 组(替换模式中的$1
):任何一个或多个非空白字符.*
- 除了换行符之外的任何零个或多个字符,尽可能多。