使用正则表达式在文本文件中查找有效文本

Find valid texts in a text file using RegEx

提问人:LoB 提问时间:12/5/2022 更新时间:12/5/2022 访问量:28

问:

我有一个文本文件,我正在使用 PHP 程序搜索特定的代码行。 在此示例中,它是“ ”。$this->t()

我想找出使用正则表达式括号中的内容。

通常 a 就足够了,但还有其他选项根本不适合。~->t\((.*?)\)~

$this->t('This is a text');

应该是 This is a text

$this->t('This is %s a text' . $blabla);

应该是 This is %s a text' 。 $blabla

$this->t('This %s is %s a text', $blabla, $not);

应为“此 %s 是 %s 文本”

$this->t('This, is %s a text ', $this);

应该是 *This, is %s a text *

$this->t('This is %s a text ', $not);

应该是 *这是 %s 文本 *

$this->t('This is a text ', $not_this) . ' -> ' . $this->t('This is a ' . $big . ' Text', $not_this);

应该是 *这是一个文本 * 这是一个 ' . $big .' 文本

$this->t('You have %s sticker' . (count($x) == 1 ? '' : 's') . ' on your box', $x);

应该是你有 %s 贴纸' 。(count($x) == 1 ?'' : 's') 。' 在您的盒子上

基本上,我正在寻找一种模式的解决方案,该模式捕获以“或”开头并以最后一个“或”结尾的所有内容 或 直到最后一个 ' 或 “ 之外的第一个逗号。

->t\(([\"'](.*?)[\"'])\);

仅适用于只有一个文本由 'oder ' 封装的函数

->t\(([\"'](.*?)[\"'])(,.*)*\)

工作效率更高,但并不真正令人满意

>t('Hello %s...', $firstname) . ' ' . $this->t('This is not me')

不幸的是,但我正在慢慢耗尽想法。

php 函数 preg-match-all 函数参数

评论


答: 暂无答案