我不记得该使用什么来仅返回字符串的特定部分。 我有这样的字符串:-
$str = "return(me or not?)";
我想得到(之后的单词。在此示例中,me
将是我的结果。我该怎么做?
我不认为substr是我想要的。因为substr根据您提供的索引返回值。在这种情况下,我不知道该索引,它可能会有所不同。我所知道的是,我想返回“(”之后和空格“”之前的任何内容。那里的索引位置总是不同的,因为我不能使用substr(..)。
答案 0 :(得分:1)
此正则表达式应该可以解决问题。由于您没有提供一般规则,仅提供了一个示例,因此可能需要进一步的更改。
preg_match('/\((\S+)/', $input, $matches);
$matches[1]
包含“我”。
答案 1 :(得分:0)
<?php
// Your input string
$string = "return(me or not?)";
// Pattern explanation:
// \( -- Match opening parentheses
// ([^\s]+) -- Capture at least one character that is not whitespace.
if (preg_match('/\(([^\s]+)/', $string, $matches) === 1)
// preg_match() returns 1 on success.
echo "Substring: {$matches[1]}";
else
// No match found, or bad regular expression.
echo 'No match found';
答案 2 :(得分:0)
捕获组的结果将是使用此正则表达式和preg_match()的结果。
$regex = '/\((\w+)/';
检查preg_match()以获取工作参考。