有人可以总结一下这个正则表达式会做什么吗?
ValidationExpression="^[a-zA-Z0-9'.\s\-&\(\)]*$"
是否有可以对此进行总结的在线工具?
答案 0 :(得分:3)
答案 1 :(得分:3)
Regular Exprression Analyzer输出this:
Parse Result: Success!
- Sequence: match all of the followings in order
- BeginOfLine
- Repeat
- AnyCharIn[ a to z A to Z 0 to 9 ' . WhiteSpaceCharacter - & ( )]
- zero or more times
- EndOfLine
答案 2 :(得分:2)
^
和$
是锚点,用于将epxression锚定到字符串的开头和结尾。
[a-zA-Z0-9'.\s\-&\(\)]
是一个允许[]
a-z
是一个字符范围( - 这里是范围运算符),表示从a到z的所有字符。
\s
是一个空格字符(空格,制表符,换行符)
\(
是文字(
,\
用于转义
*
是一个量词,允许在字符类中包含0个或更多字符。
这意味着你的正则表达式可以匹配一个空字符串或一个只包含字符类中字符的字符串。
答案 3 :(得分:0)
我说,有一个错误。与任何角色匹配的句点可能应该被转义为仅匹配字符 .
...否则,它将匹配任何一行。
假设句点被转义,它将匹配仅包含字母,数字,'
s,.
s,空格,{{的行。 1}} s,-
和括号,但是这些的任何数字或组合。
答案 4 :(得分:0)
如果字符串中有任何内容,则此正则表达式用于完全匹配,如果字符串为空,则它将匹配。 ^
表示从开始和$
匹配到字符串结尾匹配。它们被称为anchors
这个[]
被称为character class
,里面的每个东西都是字符串允许的。
顺便说一下,正则表达式可以更简化为(?i)^[a-z0-9'.\s\-&\(\)]$
。对于(?i)
ignore case flag
为in-case sensitive match