繁体   English   中英

PHP-如何编写正则表达式以检查字符串仅包含某些字符?

[英]PHP - How to write a regex to check that a string only contains certain characters?

我很少或根本没有编写正则表达式的经验。 我将如何检查字符串仅包含零,空格,连字符和冒号? 谢谢!

您应该使用简单的正则表达式获得良好的性能(不进行正向查找):

^[0 :-]++$

分解:

  • ^识别输入的开头
  • []表示方括号内的任何字符都匹配。
  • +表示前面的(括号)必须匹配1次或更多次。 ++使得possesive ,从而提高性能。
  • $识别输入的结尾
/^[0\s:-]+$/ 
  • ^ =字符串开头
  • [0\\s:-]+ =一个或多个零,空格,连字符,冒号。 +表示一个或多个\\s是任何空格字符,可能包括换行符和制表符。
  • $ =字符串结尾

由于该模式锚定在^$之间,因此[]字符类中的字符都不会匹配。

如果仅允许使用文字空间而不是任何空白字符,请使用:

/^[0 :-]+$/ 

您可以使用范围。

^[0 \-:]{1,}$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM