这是我最近遇到的一个问题。我有表单的属性字符串
"x=1 and y=abc and z=c4g and ..."
一些属性具有数值,一些具有字母值,一些具有混合属性,一些具有日期,等等。
每个字符串都应该以“ x=someval and y=anotherval
”开头,但有些则没有。我有三件事需要做。
- 验证字符串以确保它们具有
x
和y
。 x
实际上解析和的值y
。- 获取字符串的其余部分。
鉴于顶部的示例,这将导致以下变量:
$x = 1;
$y = "abc";
$remainder = "z=c4g and ..."
我的问题是:是否有(合理)简单的方法来解析这些并使用单个正则表达式进行验证?IE:
if ($str =~ /someexpression/)
{
$x = $1;
$y = $2;
$remainder = $3;
}
请注意,字符串可能仅 x
包含和y
属性。这是一个有效的字符串。
我将发布我的解决方案作为答案,但它不符合我的单正则表达式偏好。