正则表达式:获取TeX命令



我有一个字符串:

$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命令,但我已经尝试匹配[ws.;]+,所以如果需要的话,请纠正它:

$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"]);

最新更新