我有一个ASP中的文本框。NET应用程序,为此我需要使用正则表达式来验证用户输入字符串。要求与字符串连字符的总数只能是一个。
匹配:- 测试
- Test-hello
- 测试——
- 以及
- 测试——你好
- 以及
- test-hello——
您可以使用此模式匹配带有零或一个连字符的字符串:
^[^-]*-?[^-]*$
解释:
从字符串的开头(^
)开始,它将包含零个或多个非连字符([^-]*
),然后是一个可选的连字符(-?
),然后是零个或多个非连字符([^-]*
)和字符串的结尾($
)
这个模式匹配只有一个连字符的字符串:
^[^-]*-[^-]*$
解释:
从字符串的开头(^
)开始,它将包含零个或多个非连字符([^-]*
),然后是所需的连字符(-
),然后是零个或多个非连字符([^-]*
)和字符串的结尾($
)
试试这个:
^[^-]*-?[^-]*$
[^-]
为非连字符