1

例如我有这个字符串。

$string = 'test***bas';   

如何使用正则表达式在星星之前显示文本?

4

3 回答 3

2

以下模式

^(.+?)\*\*\*

将使用括号运算符创建组匹配。请参阅http://gskinner.com/RegExr/以测试您的正则表达式(在线测试有多种方法)

您在正则表达式周围使用的语言将具有不同的捕获组的方式,因此您需要更好地解释您使用的语言以获得任何进一步的建议。

asterix 之前和之后的示例

^(.+?)\*\*\*(.+)$
于 2013-03-25T13:07:43.590 回答
2

您可以使用利用Capture Groups的正则表达式。一旦您匹配了输入,您就可以访问捕获的组并打印输出。

于 2013-03-25T13:08:12.227 回答
0

如果您还想要位于 *** 之后的内容,则可以使用以下命令:

$string = 'test***bas';
$pattern = '/(.+)\*{3}(.+)/';
preg_match($pattern, $string, $matches);

$matches 将包含结果:

$matches[1] 将是“测试”
$matches[2] 将是“bas”

于 2013-03-25T13:19:19.953 回答