php正则表达式不以'C'结尾

时间:2016-09-07 04:14:40

标签: php regex

我可以获得正确的正则表达式来查找包含“TB”+ 8个数字并且不以“C”结尾的所有字符串

这应匹配: TB12345678 这不应与 TB12345678C

相匹配

我的PHP代码是:

$this->tbTrabajadores = preg_grep('/^TB([0-9]{8})[^C]/', $this->tablas);

任何人都可以帮助我吗?

感谢!!!

2 个答案:

答案 0 :(得分:2)

您最后可以使用交替:

$this->tbTrabajadores = preg_grep('/^TB\d{8}([^C]|$)/', $this->tablas);

([^C]|$)将匹配非C字符或行结尾。

匹配8位后,您还可以使用负向前瞻:

/^TB\d{8}(?!C)/

RegEx Demo

答案 1 :(得分:0)

您可以尝试这样:

$str  = 'TB12345678Cddd';
preg_match_all('/^TB([0-9]{8})/', $str, $a);
var_dump($a);

enter link description here