PassNGuard快速查找模式如何工作?

时间:2017-05-26 09:53:43

标签: design-patterns

我正在使用PassNGuard v1.0.0.0
它是什么意思快速查找模式?它是如何工作的?

1 个答案:

答案 0 :(得分:0)

模式选项

内置模式匹配为字符串比较提供了多种工具。模式匹配功能允许您将字符串中的每个字符与特定字符,通配符,字符列表或字符范围进行匹配。下表显示了模式中允许的字符及其匹配的内容。

Characters in pattern    Matches in string
----------------------   ------------------------
?                        Any single character
*                        Zero or more characters
#                        Any single digit (0–9)
[ charlist ]             Any single character in charlist
[! charlist ]            Any single character not in charlist


字符列表

括号([])中的一个或多个字符(charlist)组可用于匹配字符串中的任何单个字符,并且几乎可以包含任何字符代码,包括数字。

在charlist开头的感叹号(!)表示如果在字符串中找到除charlist中的字符之外的任何字符,则匹配。在括号外使用时,感叹号会自行匹配。


特殊字符

要匹配特殊字符左括号([),问号(?),数字符号(#)和星号(*),请将它们括在括号中。右括号(])不能在组内使用以匹配自身,但它可以在组外用作单个字符。

字符序列[]被视为零长度字符串("")。但是,它不能是括号内的字符列表的一部分。


字符范围

通过使用连字符( - )分隔范围的下限和上限,charlist可以指定一系列字符。例如,如果字符串中相应的字符位置包含A-Z范围内的任何字符,则[A-Z]会产生匹配,如果相应的字符位置包含任何字符,则[!H-L]会产生匹配范围H-L。

指定字符范围时,它们必须按升序排列,即从最低到最高。因此,[A-Z]是有效模式,但[Z-A]不是。


多个字符范围

要为同一个字符位置指定多个范围,请将它们放在不带分隔符的相同括号中。例如,如果字符串中相应的字符位置包含A-C范围或X-Z范围内的任何字符,[A-CX-Z]将产生匹配。


连字符的用法

连字符( - )可以出现在开头(感叹号之后,如果有的话),也可以出现在charlist的末尾以匹配自身。在任何其他位置,连字符标识由连字符两边的字符分隔的一系列字符。

注意: PassNGuard v1.0.0.0中的快速查找不区分大小写。