【发布时间】:2021-10-28 08:26:02
【问题描述】:
我正在尝试在 PHP 中创建一个正则表达式。我可以让它用其他语言工作,但不能用 PHP。
我想验证数组中的项目名称
- 它们可以包含大小写字母、数字、下划线和连字符。
- 它们可以包含
=>作为精确字符串,而不是单独的字符。 - 不能以
=>开头。 - 他们无法以
=>结束。
我当前的代码:
$regex = '/^[a-zA-Z0-9-_]+$/'; // contains A-Z a-z 0-9 - _
//$regex = '([^=>]$)'; // doesn't end with =>
//$regex = '~.=>~'; // doesn't start with =>
if (preg_match($regex, 'Field_name_true2')) {
echo 'true';
} else {
echo 'false';
};
// Field=>Value-True
// =>False_name
//Bad_name_2=>
【问题讨论】:
-
你说你可以让它在其他语言中工作——你能举一个例子吗?
-
@Shane 你能给我们展示一组真实的字符串,它们代表将遇到的正常和边缘情况吗?你的例子都包含
=>。这是实际上的要求吗?你最终会解析键值表达式吗?你能控制这种格式吗?为什么这些数据是这种格式的?
标签: php regex validation preg-match character-class