gpt4 book ai didi

php - 正则表达式和 preg_replace_callback

转载 作者:行者123 更新时间:2023-12-04 18:22:10 26 4
gpt4 key购买 nike

我有一个正则表达式的问题。
我正在使用 token ,我必须解析这样的文本:

Just some random text
#IT=AB|First statement# #xxxx=xxx|First statement|Second statement#
More text

我用 preg_replace_callback因为我必须使用第一个语句或第二个语句,这取决于第一个表达式是否为真;这是一种 IF...ELSE...陈述。

我期望的是这样的两个元素:
#IT=AB|First statement# 
#xxxx=xxx|First statement|Second statement#

所以我可以在我的回调函数中开始操作它们。
我试过这个正则表达式 /#.*#/ ,但我得到了整个字符串,它没有被解析成元素。

我怎样才能做到这一点?对不起,正则表达式不是我的事:(

最佳答案

量词*默认情况下是贪婪的。所以一个.*将尽可能匹配,因此它将匹配 #也是。要解决此问题,您可以制作 *通过添加 ? 来实现非贪婪在它之后。现在是 .*?将尽可能少地尝试。

/#.*?#/

或者您可以只查找两个 # 之间的非 # 字符:
/#[^#]*#/

关于php - 正则表达式和 preg_replace_callback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10429533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com