正则表达式在n个特定字符出现后选择

jir*_*iya 2 php regex mysql pattern-matching

在这里创建一些正则表达式.我想知道我是否可以得到一些关于如何在一个字符出现n之后以及在某个字符的下一个出现之前选择一个字符串的指针.

例如

xyz|yui|i want to select this.
Run Code Online (Sandbox Code Playgroud)

在这个例子中我想要在第二个"|"之后选择 然后在下一个"."之前.所以我要匹配的文字是"我想选择这个".

感谢任何指点.

UPDATE

为了更具体地说明为什么我需要在上面执行此操作,在"我想选择此项"结束时段之后会有更多文本.基本上这是我想要划分的无限内容.因此,我已经能够分割前两个字段,现在我需要能够在最后一个"|"之后仅选择文本 并在下一个时期之前添加"|" 性格到底.所以期望的结果是

xyz|yui|i want to select this.|
Run Code Online (Sandbox Code Playgroud)

很抱歉没有更具体的结果,我希望这有点清除它.感谢您的信息,超级.

Kor*_*nto 5

你的正则表达式看起来像这样:

/^(?:.+?\|){2}(.+?[^(Co)]\.)/
Run Code Online (Sandbox Code Playgroud)

PHP

<?php
    preg_match('/^(?:.+?\|){2}(.+?[^(Co)]\.)/','xyz|yui|This is a Co. sentence. Ending before this clause.',$out);
    echo $out[1];
?>
Run Code Online (Sandbox Code Playgroud)

然而

您应该通过管道角色进行爆炸并访问相应的信息,如下所示:

$stuff = explode('|','xyz|yui|i want to select this.');
echo $stuff[2];
Run Code Online (Sandbox Code Playgroud)