Regex “$unsafe\u chars`arg到`HTML::Entities::encode\u Entities`的默认正则表达式字符类是什么?

Regex “$unsafe\u chars`arg到`HTML::Entities::encode\u Entities`的默认正则表达式字符类是什么?,regex,perl,html-entities,character-class,Regex,Perl,Html Entities,Character Class,根据,对实体进行编码的第二个参数是: # Encode control chars, high bit chars and '<', '&', '>', ''' and '"' $$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge; 不安全字符是使用正则表达式字符类语法指定的(在正则表达式的括号中可以找到) 要编码的默认字符集是控制字符、高位字符以及“和”字符 但是,该页面没有

根据,对实体进行编码的第二个参数是:

# Encode control chars, high bit chars and '<', '&', '>', ''' and '"'
$$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge;
不安全字符是使用正则表达式字符类语法指定的(在正则表达式的括号中可以找到)

要编码的默认字符集是控制字符、高位字符以及“和”字符

但是,该页面没有提供默认设置的等效参数的示例。我想对不安全字符集进行一个小的调整,而不进行回归

什么正则表达式字符类将等同于«控制字符、高位字符和«和»,我可以将其用作起点?

根据,它看起来像:

/([^\n\r\t !\#\$%\(-;=?-~])/
编码实体中的该位开始:

# Encode control chars, high bit chars and '<', '&', '>', ''' and '"'
$$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge;
#编码控制字符、高位字符和“”、''和''
$$ref=~s/([^\n\r\t!\\\\\$%\(;=?-~])/$char2entity{$1}| num|u实体($1)/ge;
非否定类:

/([\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff<&>'"])/
/([\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff')/
根据,它看起来像:

/([^\n\r\t !\#\$%\(-;=?-~])/
编码实体中的该位开始:

# Encode control chars, high bit chars and '<', '&', '>', ''' and '"'
$$ref =~ s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge;
#编码控制字符、高位字符和“”、''和''
$$ref=~s/([^\n\r\t!\\\\\$%\(;=?-~])/$char2entity{$1}| num|u实体($1)/ge;
非否定类:

/([\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff<&>'"])/
/([\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\xff')/

看起来这是一个默认的替换正则表达式:

s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge

看起来这是一个默认的替换正则表达式:

s/([^\n\r\t !\#\$%\(-;=?-~])/$char2entity{$1} || num_entity($1)/ge

这与吉姆·戴维斯给出的答案完全相同。@ThisSuitesBlack不抱歉,我慢了。(@ThisSuitesBlack不抱歉,我慢了。@ThisSuitesBlack不抱歉,我慢了。)(我实际上查看了源代码,不认为否定字符类可以作为方法的参数使用-但似乎我错了!尽管如此,我还是要等待绿色检查-我更喜欢非否定字符类。@RichardJPLeGuen如果字符类被否定为什么重要?如果你不想编码特定的c角色,将其添加到列表中;如果确实要对其进行编码,请将其删除。请注意,范围是可能的(它已经包括
\(;
?-~
)@ThisSuitesBlackNot-谢谢!我没有发现那些是范围,并假设我缺少正则表达式fu,但现在它变得更有意义了。我实际上查看了源代码,并没有想到否定字符类可以作为方法的参数-但似乎我错了!尽管如此,我还是要等待绿色检查-我会的喜欢非求反字符类。@RichardJPLeGuen为什么字符类被求反很重要?如果不想对特定字符进行编码,请将其添加到列表中;如果确实想对其进行编码,请将其删除。请注意,范围是可能的(它已经包括
\(
?-~
).@ThisSuitesBlacknot-谢谢!我没有发现那些是范围,并假设我缺少正则表达式fu,但现在它变得更有意义了。