php - 正则表达式 匹配字符串

标签 php regex preg-match preg-match-all

对于正则表达式专家来说,这应该是一件很简单的事情。

我有一个群组名称<APP>_<Resource>_<Action>操作段包含组合或 CRUD。这些可能出现在 13 种可能的组合中。

CRUD、CRU、CRD、CUD、RUD、CR、CU、CD、RU、RD、UD、C、R、U、D

我只想要一个正则表达式来匹配组名称的操作段中的这些模式。应用程序和资源可以更改为各种不同的字符串。

组名称示例

PM_folder1_cru, PM_folder2_ud, PM_folder3_cr, PM_folder4_cu, PM_personalFolder_crud

提前致谢

编辑

当前使用以下方法完成此操作:

$allowedActions = ['CRUD', 'CRU', 'CRD', 'CUD', 'RUD', 'CR', 'CU', 'CD', 'RU', 'RD', 'UD', 'C', 'R', 'U', 'D'];

if (in_array(strtoupper($action), $allowedActions)) {

最佳答案

我认为这样的事情会起作用:

^C?R?U?D?$

为了避免匹配空字符串,您可以使用前瞻断言:

^(?!$)C?R?U?D?$

关于php - 正则表达式 匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17081777/

相关文章:

php - 标题和退出()导致无响应的表单提交

php - PDO 连接字符串 : What is the best way to do it?

php - 编辑表单无法在 PHP 中使用 mysql,将数据处理为 href 但不运行测试打印行

php - 静态无 Cookie 域

php - 关于在 PHP 简单验证中使用正则表达式的问题

php - utf-8 的 preg_match 规则

用于 HTML5 输入验证的 Javascript 正则表达式语法

mysql - 使用 REGEXP (MySql) 在单词边界内查询以字符串开头/结尾的记录

regex - 如何在 ubuntu 终端的目录中搜索两个标记之间的字符串并保存输出

PHP - 需要正则表达式帮助