Php 预匹配字母数字-'&引用;,和空白
任何人都有一个正则表达式来允许字母数字和-“,”以及空格吗?试试这个:Php 预匹配字母数字-'&引用;,和空白,php,regex,Php,Regex,任何人都有一个正则表达式来允许字母数字和-“,”以及空格吗?试试这个: /^[A-Za-z0-9-_",'\s]+$/ 我在正则表达式中读了很多关于\s标志的内容,我看到它像糖果一样在stackoverflow上分发,但是似乎\s标志与所有元字符都匹配,并且跳过换行符 这将允许忽略您不希望在软件、网站或数据库中使用的所有类型字符的过滤用户输入 \s标志还跳过新行分隔符,使过滤后的代码容易被包含,因此使用此方法的风险由您自己承担,否则会导致愉快的黑客攻击lol 你可以考虑这样的事情: /[^ p
/^[A-Za-z0-9-_",'\s]+$/
我在正则表达式中读了很多关于\s标志的内容,我看到它像糖果一样在stackoverflow上分发,但是似乎\s标志与所有元字符都匹配,并且跳过换行符 这将允许忽略您不希望在软件、网站或数据库中使用的所有类型字符的过滤用户输入 \s标志还跳过新行分隔符,使过滤后的代码容易被包含,因此使用此方法的风险由您自己承担,否则会导致愉快的黑客攻击lol
你可以考虑这样的事情:<代码> /[^ p{xAN}] ++$/d < /代码>
匹配所有unicode字母和数字,如果这\p{Xan}
不允许所有字母空白,那么我不确定如何安全 为过滤器匹配这些
使用所有格量词来帮助优化 比赛++
导致正则表达式在字符串末尾终止,而不是 在换行之前跳过任何字符$/D
“允许”是指与您所说内容相匹配的表达式,还是与除您所说内容以外的所有内容相匹配的表达式?我的意思是,任何不匹配的内容都会导致异常。基本上,我只需要纯文本和-"“,”来遍历并阻止任何其他内容。舔[]标记之类的东西。不,我使用以下$pattern=“/^[A-Za-z0-9-389;,'\s]+$/”如果($string&&preg\u match($pattern,$string))PHP退出-语法错误,意外',“尝试转义正则表达式中的单引号和双引号:
/^[A-Za-z0-9-389;,\'\s]+$/
是介于9
和-
之间的-
用于匹配文字-
?如果是这样,将其放在类的开头或结尾可能会使表达式更适合其他语言。@Tim:如果文字-
不在字符的开头或结尾,哪种语言不识别它ter class?@Gumbo,是的,可能在所有的PCRE风格中,如果前面有字符范围或速记字符类,则不必跳过连字符。但是,在我看来,(1)放在字符类的开头或结尾时更容易理解,(2)如果需求发生变化,并且删除了0-9
部分,那么如果-
突然被视为范围操作符,则错误可能会在正则表达式中蔓延。