在正则表达式中添加单个配额


adding single quota in regex

这是我的原始正则表达式:

$patt .= "([".preg_quote($letter).']+'s*('s*([^'d'w]|[_]|(&#.+;)|<br's*['/]?>)'s*)*)+';

我想在其中添加'的选项。我这样添加

$patt .= "([".preg_quote($letter).']+'s*('s*([^'d'w]|[_]|(&#.+;')|<br's*['/]?>)'s*)*)+';
$patt .= "([".preg_quote($letter).']+'s*('s*([^'d'w]|[_]|[']|(&#.+;)|<br's*['/]?>)

' s *) *) + ';

$patt .= "([".preg_quote($letter).']+'s*('s*([^'d'w]|[_]|(')|(&#.+;)|<br's*['/]?>)'s*)*)+';

也被封闭在""中,它们都不起作用。在这种情况下,所有给出的regex无效。

添加'的正确方法是什么?

只需将您的regexp括在双引号中:

$patt .= "([".preg_quote($letter)."]+'s*('s*([^'d'w]|_|(&#.+;')|<br's*'/?>)'s*)*)+";

顺便说一下,要匹配单个字符_或单个字符'/,不需要从它们中创建一个类。