Php 正则表达式:获取TeX命令
我有一个字符串,比如:Php 正则表达式:获取TeX命令,php,regex,tex,Php,Regex,Tex,我有一个字符串,比如: $str = "\textaolig 3 \texthtbardotlessjvar \textrthooklong B \textbenttailyogh ; \textinvomega q \textscaolig . \textbktailgamma p \textinvsca r \textscdelta D \textctinvglotstop ! \textinvscripta s \textscf 2 \textctjvar
$str = "\textaolig 3 \texthtbardotlessjvar \textrthooklong
B \textbenttailyogh ; \textinvomega q \textscaolig
. \textbktailgamma p \textinvsca r \textscdelta
D \textctinvglotstop ! \textinvscripta s \textscf
2 \textctjvar I \textlfishhookrlig t \textsck";
我想用正则表达式得到所有的TeX命令(\textaolig等)。我试过:
\\([[a-z]\s]+)
但是没有运气。有人能帮我吗
善意的问候,首先,您必须用单引号将字符串括起来,因为当使用双引号时,如果您使用反斜杠,它将尝试转义字符,这不是您的情况 其次,您必须使用
\\\\
来匹配反斜杠
我不知道TeX命令,但我已尝试匹配[\w\s\;]+
,因此如果需要,请更正它:
$str='\textaolig 3\texthtbardotlessjvar\textrhooklong
B\texttailyogh\textinvomega q\textscaolig
. \textbktailgamma p\textinvsca r\textscdelta
D\textctinvglotstop\textinvscripta s\textscf
2\textctjvar I\textlfishhookrlig t\textsck';
preg\u match\u all(“/\”(?P\w+)/s“,$str,$m);
var_dump($m[“tex”);
首先,您必须用单引号将字符串括起来,因为当使用双引号时,如果使用反斜杠,它将尝试转义字符,而这不是您的情况
其次,您必须使用\\\\
来匹配反斜杠
我不知道TeX命令,但我已尝试匹配[\w\s\;]+
,因此如果需要,请更正它:
$str='\textaolig 3\texthtbardotlessjvar\textrhooklong
B\texttailyogh\textinvomega q\textscaolig
. \textbktailgamma p\textinvsca r\textscdelta
D\textctinvglotstop\textinvscripta s\textscf
2\textctjvar I\textlfishhookrlig t\textsck';
preg\u match\u all(“/\”(?P\w+)/s“,$str,$m);
var_dump($m[“tex”);
TeX命令是类似\textaolig的命令。在你的帮助下,我终于做对了。preg_match_all('/\\\([\w]+)/s',$str,$m);完成了任务。非常感谢。TeX命令是类似\textaolig的命令。在你的帮助下,我终于做对了。preg_match_all('/\\\([\w]+)/s',$str,$m);完成了任务。非常感谢你。
$str = '\textaolig 3 \texthtbardotlessjvar \textrthooklong
B \textbenttailyogh ; \textinvomega q \textscaolig
. \textbktailgamma p \textinvsca r \textscdelta
D \textctinvglotstop ! \textinvscripta s \textscf
2 \textctjvar I \textlfishhookrlig t \textsck';
preg_match_all('/\\\\(?P<tex>\w+)/s', $str, $m);
var_dump($m["tex"]);