php - 正则表达式查找分隔字符串后的所有文本

标签 php regex

我有一些内容包含表单中的 token 字符串

$string_text = '[widget_abc]This is some text. This is some text, etc...';

我想在第一个 ']' 字符之后提取所有文本

所以我在这个例子中寻找的返回值是:

This is some text. This is some text, etc...

最佳答案

preg_match("/^.+?\](.+)$/is" , $string_text, $match);
echo trim($match[1]);

编辑

应作者要求-补充说明:

preg_match(param1, param2, param3) 是一个函数,可让您匹配要查找的正则表达式的单个案例场景

param1 = "/^.+?](.+?)$/is"

"//"是你放在 param1 正则表达式外面的内容

最后的i代表不区分大小写(它不关心你的字母是'a'还是'A')

s - 允许你的脚本跨越多行

^ - 从字符串的开头开始检查

$ - 一直到字符串的末尾

. - 代表任意字符

.+ - 任何事物的至少一个或多个字符

.+? - 在到达之前至少再多一个字符

.+?] - 至少一个或多个字符,直到你到达 ] (在 ] 之前有一个反斜杠,因为它代表正则表达式中的东西 - 查找它)

(.+)$ - 捕获 ] 之后的所有内容并将其作为单独的元素存储在 param3 中定义的数组中

param2 = 您创建的字符串。

我试图简化解释,我可能会偏离,但我认为我在很大程度上是正确的。

关于php - 正则表达式查找分隔字符串后的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5518282/

相关文章:

php - yii2 Webhook 帖子为空

php - 让 Varnish 在 Magento 上工作

php - 为什么 php-fpm 会忽略为补充组定义的权限?

php - window.location (JS) vs header() (PHP) 用于重定向

java - 正则表达式使用java获取第一个斜杠后的所有字符

regex - sed 提取两个字符串之间的文本

php - 在数据库中上下移动行

regex - 多行 “[redex]::match()”输出在Powershell中显示为一行

javascript - 用于在 javascript 中强制输入电话号码的正则表达式

java - 需要一种接受多封电子邮件的模式