我有下一个代码,我想知道如果字符串的有效基于正则表达式。 我想只验证下一个序列后面的字符串。带有可选|的正则表达式
lettersOrNumbersAndunderDashes=lettersOrNumbersAndUnderdashes
但是,如果存在垂直条,则可以重复该顺序。
例如parameter1=value1|parameter2=value2|parameterN=valueN
if (preg_match("/((^[A-Za-z0-9_]+=[A-Za-z0-9_]+)\|?)/m", "perPd_asd=as_3_4d|asdas=asdasd"))
return 'Valid';
return 'Invalid';
我想我失去了一些东西或建造一个错误的正则表达式。
第一个字符串只有一个'='。 https://regex101.com/r/yZ4qE2/1另外'[A-Za-z0-9_]'可以是'\ w'。 – chris85
你可以更具体一点吗?,我是相当新的正则表达式 –
你的表达式说'东西',然后是'=',然后'东西'。你的第一个字符串符合,因为有一个'='。你的第二个它在第一个'='后停止。 (我的regex101演示反过来,因为我开始倒退).. – chris85