本文介绍了我只允许在正则表达式中使用一个连字符 (-)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文本框,可以在其中获取用户的姓氏.如何在正则表达式中只允许一个连字符 (-)?

I have a text box where i get the last name of user. How do I allow only one hyphen (-) in a regular expression?

^([a-z A-Z]*-){1}[a-z A-Z]*$

推荐答案

你的正则表达式只允许一个 -.但我假设你想 mach "Smith", "Smith-Kennedy", 而不是 "Smith-", 为此你只需将连字符移到第二组:

Your regular expression allow exactly one -. but I assume that you want to mach "Smith", "Smith-Kennedy", but not "Smith-", to do this you just must move the hyphen to the second group:

^[a-z A-Z]+(-[a-z A-Z]+)?$

顺便说一句,在几乎所有使用 * 的情况下,+ 是更好的解决方案.

BTW, in almost all cases when * is used + is the better solution.

这篇关于我只允许在正则表达式中使用一个连字符 (-)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 04:46