在PHP中将Charachter传入Regex
我想将像A、B、C、D这样的字符传递给PHP中的preg_match函数。在PHP中将Charachter传入Regex,php,regex,Php,Regex,我想将像A、B、C、D这样的字符传递给PHP中的preg_match函数。 例> 我想将A、B、C、D传递给$char并循环匹配。 请给我一个解决方案。不需要循环。只需将$char替换为“[A-D]”。由于已使用空格将其限定,因此它将在类[A-D]中的空格之间匹配一个字符 if (preg_match ("/^SEQRES.*\s[A-D]\s.*/", $amino)) ; 您也可以使用无需循环。只需将$char替换为“[A-D]”。由于已使用空格将其限定,因此它将在类[A-D]中的空格之间
例> 我想将A、B、C、D传递给$char并循环匹配。
请给我一个解决方案。不需要循环。只需将
$char
替换为“[A-D]”代码>。由于已使用空格将其限定,因此它将在类[A-D]
中的空格之间匹配一个字符
if (preg_match ("/^SEQRES.*\s[A-D]\s.*/", $amino)) ;
您也可以使用无需循环。只需将$char
替换为“[A-D]”代码>。由于已使用空格将其限定,因此它将在类[A-D]
中的空格之间匹配一个字符
if (preg_match ("/^SEQRES.*\s[A-D]\s.*/", $amino)) ;
您可能还希望使用仅使用字符串连接:
$re = "/^SEQRES.*\s" . $char . "\s.*/";
if (preg_match($re, $amino))
....
只需使用字符串连接:
$re = "/^SEQRES.*\s" . $char . "\s.*/";
if (preg_match($re, $amino))
....
如果要从用户输入中获取字符,请使用preg_quote
:
$re = "/^SEQRES.*\s" . preg_quote($char) . "\s.*/";
如果要从用户输入中获取字符,请使用preg_quote
:
$re = "/^SEQRES.*\s" . preg_quote($char) . "\s.*/";
欢迎来到堆栈溢出。您可以使用{}
工具栏按钮格式化源代码。这一次我是为你做的。这4个字符中的每一个都应该匹配,还是只有一个?如果很多,是否允许这些字符的组合?您需要知道哪些字符匹配吗?只需将一个字符放在$char处。串联解决了这个问题。谢谢。欢迎来到Stack Overflow。您可以使用{}
工具栏按钮格式化源代码。这一次我是为你做的。这4个字符中的每一个都应该匹配,还是只有一个?如果很多,是否允许这些字符的组合?您需要知道哪些字符匹配吗?只需将一个字符放在$char处。串联解决了这个问题。非常感谢。