当前位置: 首页 > 知识库问答 >
问题:

regex-获取每个特定字符实例后的所有字符

乜元魁
2023-03-14
$str = 'word1 > word-2 > word.3 > word*4';
array([0] => 'word1', [1] => 'word-2', [2] => 'word.3', [3] => 'word*4',);
    null

这是我目前正在使用的PHP函数,但它目前只查找分隔符之间的字符:

function parse_conditions($str, $delimiter='>') {
if (preg_match_all('/' . $delimiter . '(.*?)' . $delimiter . '/s', $str, $matches)) {
    return $matches[1];
}

注意:给定字符串中的项数可能不同,所以我不能使用需要特定数量的分隔符的模式(例如/^(.*?)>(.*?)>(.*?)>$/)

共有1个答案

洪增
2023-03-14

您可以简单地将array_mapexplode一起用作

$str = 'word1 > word-2 > word.3 > word*4';
$result = array_map('trim',  explode('>', $str));
print_r($result);

产出:

Array
(
    [0] => word1
    [1] => word-2
    [2] => word.3
    [3] => word*4
)

你可以在这里查一下

 类似资料:
  • 所需匹配: 这个regex只匹配字符串第一个实例之后的所有内容: 思想?

  • 我有一个像下面这样的data.table,它包含一组DNA字符串(列)和一系列突变(列中的字符)以及它们沿字符串(列)的相对位置。 因为对于n个突变,得到的字符串数是2^n,我想做的是生成一个通用函数,允许生成在

  • 问题内容: 如何从此示例值获取子字符串: 我希望它返回。因此,基本上,我们需要删除之后的所有信息。 更多示例:1234_abc 问题答案: 您可以使用和: 警告:只有在您的字符串中确实包含下划线的情况下,才能保证此方法有效 更新 此外,如果从Oracle 10g开始运行,则可以采用Regex路径,该路径可以更强大地处理异常。

  • 我有一个字符串: 我想从中提取,即从右边的最后一个或第一个之后的子字符串。 有人能提供一些帮助吗?

  • 问题内容: 我有以下测试(格式如下): 我正在尝试获取“测试部分:”和“我的部分”之后的文本 我用不同的RegEx模式进行了几次尝试,但结果一无所获。 如果我做: 然后,我得到正确的答复: 但是,如果我这样做 我没有结果。结果应为“我的第二 部分 ” 我也尝试过使用RegEx Multiline,但没有结果。 任何帮助,将不胜感激。 如果重要的话,我正在Python 2.7中进行编码。 如果不清楚

  • 我在变量中有一个字符串,我想提取第二个冒号后面的数字,即。那么,我怎样才能提取那个数字呢?