php用正则表达式怎么获得两个字符串之间字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php用正则表达式怎么获得两个字符串之间字符相关的知识,希望对你有一定的参考价值。

比如 我想获得

参考技术A 把要获得的正则表达式部分加上括号,
然后看preg_match第三个参数,
括号是第几个,
获得的内容就在$matches中的索引就是几.比如:<?php
$subject
=
'abcd123def';$pattern
=
'/(\w)(\d+)(\w)/';preg_match(
$pattern,
$subject,
$matches
);var_dump
(
$matches
);
//
自己看

获取php中两个特定字符之间的单词

【中文标题】获取php中两个特定字符之间的单词【英文标题】:get the words between two specific characters in php 【发布时间】:2014-09-23 15:30:23 【问题描述】:

如何获取字符“--#”和“#--”之间的单词 我尝试了正则表达式并爆炸,但我无法获得所需的输出。

输出必须是: Section 2, Section 3, Section 4, Section 5 ..................................................... ....................

--#第2节#-- -##Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt##-

--#第3节#-- -##Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt##-

--#第4节#-- -##Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt##-

--#第5节#-- -##Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt##-

【问题讨论】:

@fedorqui:或者没有 - 很可能 /#(.*?)#/,也许? 它实际上只有 php 和正则表达式。我只是点击了建议。对此感到抱歉。顺便感谢那些帮助我的人。 【参考方案1】:

通过 sed,

$ sed 's/.*--#\(.*\)#--.*/\1/g' file
Section 2

Section 3

Section 4

Section 5

【讨论】:

【参考方案2】:

你可以试试这个:

--#(.*)#--

DEMO

【讨论】:

【参考方案3】:

由于问题的标题明确指出:

获取php....中两个特定字符之间的单词。

你可以使用这个正则表达式:

preg_match_all('/--#(.*?)#--/', $text, $matches);
print_r($matches[1]);

解释

--#      # match '--#'
(        # group and capture to \1:
  .*?    #   any character except \n (0 or more times)
)        # end of \1
#--      # match '#--'

Working Demo

【讨论】:

这正是我需要的。,非常感谢,希望它也能对某些人有所帮助。,【参考方案4】:

如果你使用 BASH

不使用 sed 或任何其他命令的简单答案是执行以下操作

 VAR="--#Section 2#-- -##Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt##-"

 #delete from the tail 
 VAR=$VAR%%'#--'*                             //you will get VAR="--#Section 2"
 #delete from the head
 VAR=$VAR##*'--#'                             //NOW you'll have VAR="Section 2"

【讨论】:

以上是关于php用正则表达式怎么获得两个字符串之间字符的主要内容,如果未能解决你的问题,请参考以下文章

php正则表达式获取两个字符之间的文字

PHP 正则表达式总结

PHP正则表达式基本函数

正则表达式获取两个笑脸之间的字符串[重复]

不止一次用正则表达式替换两个字符串之间的字符串,python

用php获得和之间的所有内容