如何获取字符“ - #”和“# - ”之间的单词 我尝试了正则表达式并且爆炸但是我无法获得所需的输出。
输出必须是: 第2节第3节第4节第5节 .................................................. ...............................
- #Section 2# - - ## Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ## -
- #Section 3# - - ## Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ## -
- #Section 4# - - ## Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ## -
- #Section 5# - - ## Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ## -
答案 0 :(得分:4)
由于问题的标题明确指出:
获取
中两个特定字符之间的字词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 '#--'
答案 1 :(得分:0)
通过sed,
$ sed 's/.*--#\(.*\)#--.*/\1/g' file
Section 2
Section 3
Section 4
Section 5
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您使用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"