Php 从未知字符串长度捕获日期

Php 从未知字符串长度捕获日期,php,parsing,trim,Php,Parsing,Trim,我有一个字符串,上面写着“ETS 13-JUN-13sf342356”。我能够用一些简单的ltrim和rtrim函数解析出日期。我的问题是,如果我不知道之前或之后是什么,或者字符串有多长,我还能捕获这个日期吗?还有一些例子: “JoeR13JUN134092883094” “CC13-JUN-13tl320994” “3425313-JUN-13tl345550” 是否有一个函数总是从这些字符串中捕获(在本例中)2013年6月13日的日期?我用您的输入尝试了以下内容,并为此进行了努力。似乎很

我有一个字符串,上面写着“ETS 13-JUN-13sf342356”。我能够用一些简单的ltrim和rtrim函数解析出日期。我的问题是,如果我不知道之前或之后是什么,或者字符串有多长,我还能捕获这个日期吗?还有一些例子:

  • “JoeR13JUN134092883094”
  • “CC13-JUN-13tl320994”
  • “3425313-JUN-13tl345550”

是否有一个函数总是从这些字符串中捕获(在本例中)2013年6月13日的日期?

我用您的输入尝试了以下内容,并为此进行了努力。似乎很长,但请尝试一下:

([0-9]{2})(\-[A-Z]+|[A-Z]+)(\-[0-9]{2}|[0-9]{2})

我用你的输入尝试了以下内容,并为此付出了努力。似乎很长,但请尝试一下:

([0-9]{2})(\-[A-Z]+|[A-Z]+)(\-[0-9]{2}|[0-9]{2})

不,你需要自己写一本。您几乎肯定需要使用正则表达式。不,您需要自己编写正则表达式。您几乎肯定需要使用正则表达式;非常好,谢谢!预匹配('/([0-9]{2})(\-[A-Z]+[A-Z]+)(\-[0-9]{2}.[0-9]{2}/',$test,$matches);非常好,谢谢!