我正在使用php而我正在使用正则表达式来尝试检测报价。
我希望它只有在字符串
中找到引号才能找到匹配项HELLO
无法找到任何匹配
"HELLO"
应找到匹配
"HELLO
仍然应该找到匹配
答案 0 :(得分:4)
正则表达式只是引号字符。
echo preg_match('/"/', $string);
HELLO
为0,"HELLO"
为1,"HELLO
为1
答案 1 :(得分:3)
您可以使用带有preg_match的正则表达式,它会检查$ thestring中的任何双引号:
if(preg_match('"', $thestring)) { ... }
但使用strpos功能可能会更快:
if(strpos($thestring, '"') !== false) { ... }
if
语句中的代码只有在找到双引号时才会执行。我的代码示例不会返回引用的文本,尽管您可以通过一些更改来实现。
答案 2 :(得分:1)
使用"(.*?)(\n|\r|$|")
。
示例:
http://img221.imageshack.us/img221/2994/screenshot2z0.png
编辑:根据您的评论我明白您不需要这样做;你需要的是Colin O'Dell的答案(即strpos
函数)。不过,我还是把它留在这里以防其他人需要它。
答案 3 :(得分:1)
没那么难,恕我直言:) 我想你只是想确定给定字符串中是否有引号,对吧?那么它可以通过
来完成preg_match('/"/',$string)
或更有效地通过
strpos($string,'"') || $string == '"'
答案 4 :(得分:0)
["]*HELLO["]*
将匹配HELLO,无论是否有引号。
或者您可以使用
"{0,1}HELLO"{0,1}
答案 5 :(得分:0)
使用(trim($string, '"') !== $string)
或(trim($string, '"\'') !== $string)
引号或单引号