我有一个字符串:
$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"]);