在 PHP 中查找仅包含特定字符集的数组元素

2024-01-08

我只需要查找具有一组特定字母以及该组字母之前或之后的任何字符的数组元素。

我有这样的数组:

$sample = array("sten", "netff", "enet", "denet");

$value = array('e', 'n', 't');

我需要从中找到值$sample数组有'e,n,t'匹配词之前或之后(一侧,而不是两侧)的字符和单字符或双字符。如果我用模式 e、n、t 和它之前或之后的 1 个字母(任一侧,而不是两侧)进行搜索,结果将是

array("sten", "enet") 

如果我用模式 e、n、t 和它之前或之后的 2 个字母(任一侧,而不是两侧)进行搜索,结果将是

array("netff", "denet")

我尝试了正则表达式preg_grep()但它不起作用:

前后各 1 个字母(任一侧,而非两侧):

$result = preg_grep("/^(?:.{1}".$value."|".$value.".{1})$/", $sample);

前后 2 个字母(任一侧,而非两侧):

$result = preg_grep("/^(?:.{2}".$value."|".$value.".{2})$/", $sample);

我假设您已经将所有字符串预先过滤为 4 或 5 个字符长 - 如果没有,您可以取消注释我的第一个过滤函数。

Inputs:

$findgroup=['eaten','enter','tend','sten','neat','dents','enet','netty','teeth','denet','teen','spent'];
$values=['e','n','t'];

Method:

//$findgroup=array_filter($findgroup,function($v){return strlen($v)==4 || strlen($v)==5;});
$findgroup=array_filter($findgroup,function($v)use($values){
    return
        sizeof(array_intersect(array_unique(str_split(substr($v,0,3))),$values))==3 ||
        sizeof(array_intersect(array_unique(str_split(substr($v,-3))),$values))==3;
});
var_export($findgroup);    
// omitted: neat, dents, teeth, teen

Output:

array (
  0 => 'eaten',
  1 => 'enter',
  2 => 'tend',
  3 => 'sten',
  6 => 'enet',
  7 => 'netty',
  9 => 'denet',
  11 => 'spent',
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中查找仅包含特定字符集的数组元素 的相关文章

随机推荐

  • 铁路搜索表

    我正在创建一个跟踪用户和成就的应用程序 例如 xbox live 等 这些表通过连接表链接 我希望在我的索引上有一个搜索表单 让用户输入用户名 然后加载一个新页面 其中包含用户已获得的所有成就的列表 我不完全确定如何在索引上设置此搜索表单
  • 你能在Sqlite3(使用Django)中实现不区分大小写的“唯一”约束吗?

    假设我正在使用 Python 2 5 的内置默认 sqlite3 并且我有一个包含以下代码的 Django 模型类 class SomeEntity models Model some field models CharField max
  • 动态构建 SQL 查询(postgres 和 javascript)

    我有一个 javascript 函数需要返回产品列表 它使用 postgres 来检索产品列表 该函数传递一个categoryId和一个可选的typeId 所以我需要基于这些构建一个 SQL 查询 当然我可以做这样的事情 async fun
  • 具有多个 bert 输入的 SMOTE

    我正在使用 Keras 和 Bert HuggingFace 构建多类文本分类模型 但我有一个非常不平衡的数据集 我使用了 Sklearn 中的 SMOTE 来为欠平衡类生成额外的样本 我总共有 45 个 当我使用 Bert Tokeniz
  • 如何使用 matplotlib 制作“更完整”的轴箭头

    我有以下代码 from mpl toolkits axes grid axislines import SubplotZero from matplotlib transforms import BlendedGenericTransfor
  • 使用 Maven 时更改 Eclipse 中 Android R.java 的输出文件夹

    我有一个使用 maven android 插件的 android 项目设置 该插件遵循 Maven 输出文件夹的位置R java文件 即target generated sources r 但是 当在 Eclipse 中使用这个项目时 我无
  • Cppcheck 内联抑制不起作用

    示例代码 class Foo cppcheck suppress noExplicitConstructor Foo int foo Cpp检查调用 cppcheck exe enable all foo cpp Checking foo
  • 如何在 T-SQL 调试时查看表变量的值?

    在调试期间 我们能否在 SQL Server Management Studio SSMS 中查看表值变量中的值 行和单元格 如果是 怎么办 DECLARE v XML SELECT FROM
  • 本地使用 Cognito [离线]

    我有一种感觉 这是一个菜鸟问题 有没有办法在本地模拟 Cognito 用户池的使用 如此离线 我有一种感觉 在开发时诉诸 aws cognito 普通用户池是没有必要的 我现在知道无服务器有一个可以离线使用的插件 但没有找到用于 cogni
  • 在模拟中控制内存分配/GC?

    我在弄清楚如何减少运行在模拟中的内存使用和 GC 时间时遇到了一些麻烦State单子 目前我必须运行编译后的代码 RTS K100M为了避免堆栈空间溢出 GC 统计数据非常可怕 见下文 以下是相关代码片段 完整的工作 GHC 7 4 1 代
  • 整数是如何在底层转换为字符串的?

    我想真正的问题是如何将 base2 binary 转换为 base10 最常见的应用可能是创建输出字符串 将二进制数字数据块转换为字符数组 这具体是如何完成的 我猜 鉴于可能没有为每个数值预定义一个字符串 我猜测计算机从右到左遍历整数的每一
  • arc4random 和 % 运算符

    我对 Objective C 中的 arc4random 函数有疑问 我在网上看到的例子中有一个 函数调用后的符号 我想 作为模运算符 该符号在之后使用时是否有其他含义arc4random 它是如何工作的 没有什么特殊意义 之后应用模数ar
  • C#中如何判断数字是否可被整除?

    我需要知道如何执行此程序 calculation1 1 4 0 25 calculation2 1 8 0 125 calculation3 47 183 0 25683060109289617486338797814207 calcula
  • 图数据库新手Q-如何决定2个节点之间关系的方向

    你如何决定关系的动词方向 例如 我有一个国家属于子区域 而子区域又属于区域 哪一个更好 在决定方向方面有什么经验法则吗 地区 HAS gt 子区域 HAS gt 国家 地区 or 区域 问候 桑 我同意 InverFalcon 的观点 即方
  • 无法在 spring-boot 应用程序中从 Consul 读取配置

    我正在创建一个Spring Boot应用程序 它将读取诸如数据库属性之类的配置Consul 但我无法使用我的应用程序从 Consul 读取键值 以下是我正在尝试做的事情 pom xml
  • System.UnauthorizedAccessException:对路径的访问被拒绝

    无论我做什么 例如授予网络服务和 ASP NET 帐户对包含图像的文件夹的完全权限 我仍然收到 System IO File Move 的此错误 有人知道我在这里可能还缺少哪些其他帐户吗 网络服务是运行应用程序池的帐户 该网站在该应用程序池
  • 使用python检测关闭事件

    我有一个 Minecraft 基岩版服务器在我们的共享电脑上运行 我想通过 python 与它交互 然而 我遇到的一个问题是我的兄弟有时会重新启动我们的电脑或 Windows 更新 我需要知道如何检测关闭事件并在重新启动之前将关闭命令发送到
  • Html5 标题标签验证错误

    您好 我正在根据 html 5 验证我的源代码 但我收到此错误 现在知道如何解决它 这是错误 在此上下文中 不允许 XHTML 元素标题作为 XHTML 元素元的子元素 抑制该子树中的更多错误 有任何想法吗 在对 XML 规则严格的 XHT
  • %g 如何对浮点数进行四舍五入?

    当我使用时 g作为格式说明符printf 有时四舍五入到小数点后 2 位 有时到 3 位 有时到 4 位 它是如何做到的 实际上我们应该在哪里使用 g代替 f or e对于浮点数 The g格式说明符的舍入就像 f会做 但如果 f会导致4
  • 在 PHP 中查找仅包含特定字符集的数组元素

    我只需要查找具有一组特定字母以及该组字母之前或之后的任何字符的数组元素 我有这样的数组 sample array sten netff enet denet value array e n t 我需要从中找到值 sample数组有 e n