正则表达式提取子字符串

布莱恩·邓森(M Brian Dunson)

真的为此感到挣扎...希望有人可以让我走上正确的道路。

我的输入字符串的结构如下:

66-2141-A-AC107-7

我对使用单个正则表达式提取字符串“ AC107”感兴趣。我知道如何使用其他PHP字符串函数来执行此操作,但是我必须使用正则表达式来执行此操作。

我需要提取第三和第四连字符之间的所有数据。每个部分的结构不是固定的(即66可以是8798709,而2141可以是38)。确保连字符的数量存在(即,总会有四(4)个连字符)。

任何帮助/指导都将不胜感激!

lix药

这将满足您的需求:

(?:[^-]*-){3}([^-]+)

正则表达式可视化

Debuggex演示

解释:

  • (?:[^-]*-) 查找零个或多个非连字符,后跟一个连字符
  • {3} 寻找刚才描述的三个方块
  • ([^-]+) 从该点开始捕获所有连续的非连字符(将在下一个连字符之前自动切断)

您可以像这样在PHP中使用它:

$str = '66-2141-A-AC107-7';
preg_match('/^(?:[^-]*-){3}([^-]+)/', $str, $matches);
echo $matches[1];  // prints AC107

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用正则表达式提取子字符串

来自分类Dev

POSIX正则表达式提取子字符串

来自分类Dev

使用正则表达式从URL提取子字符串

来自分类Dev

java:使用正则表达式提取子字符串

来自分类Dev

如何使用正则表达式为此模式提取子字符串

来自分类Dev

正则表达式提取变量字符串

来自分类Dev

使用javascript正则表达式从字符串中提取子字符串

来自分类Dev

正则表达式提取特定的字符串

来自分类Dev

使用正则表达式在SAS中提取子字符串

来自分类Dev

用正则表达式提取子字符串

来自分类Dev

通过正则表达式提取子字符串

来自分类Dev

字符串提取使用正则表达式

来自分类Dev

在python正则表达式中提取字符串的子字符串

来自分类Dev

如何使用正则表达式提取子字符串

来自分类Dev

正则表达式提取字符串

来自分类Dev

使用正则表达式有选择地提取R中的子字符串

来自分类Dev

正则表达式提取包含PIPE(|)的子字符串

来自分类Dev

正则表达式提取字符串

来自分类Dev

使用正则表达式从URL提取子字符串

来自分类Dev

从Java正则表达式中提取子字符串

来自分类Dev

Python正则表达式提取子字符串

来自分类Dev

如何使用正则表达式为此模式提取子字符串

来自分类Dev

如何使用正则表达式从字符串中提取子字符串?

来自分类Dev

正则表达式提取字符串

来自分类Dev

提取匹配正则表达式的字符串

来自分类Dev

在Java中使用正则表达式提取子字符串

来自分类Dev

用正则表达式提取子字符串?

来自分类Dev

提取字符串正则表达式

来自分类Dev

提取子字符串正则表达式