如何为这种字符串编写正则表达式?

时间:2012-06-05 06:14:42

标签: php regex

我将从$_POST数组中获取此类字符串:

$string = "\"Search Text\"";

OR

$string = '\'Search Text\'';

我将如何使用正则表达式检查搜索文本是否包含在双引号或单引号中。


基于Kolink答案我确实喜欢这个

echo $subject = "'Search Text'";
$pattern = "/['\"](?=;$)/";
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);

它没有给出任何结果。 :(

1 个答案:

答案 0 :(得分:3)

因此,澄清一下,您的用户将在文本框中发送$string = "Search Text";之类的内容?或者这仅仅是服务器端代码的一部分?

如果是第一个,您可以搜索/['"](?=;$)/,这将告诉您是否使用单引号或双引号。

如果是第二个,那么你的问题毫无意义,因为引号不是字符串的一部分。