正则表达式优化

3

我使用以下正则表达式来验证我的文本区域:

^[a-zA-Z0-9][a-zA-Z0-9 ]+$
  • 它允许字母和数字
  • 避免第一个空格为空
  • 允许第一个字符后有空格

我应该如何修改才能允许以下字符:

  • 逗号(,)
  • 分号(;)
  • 冒号(:)
  • 欧元符号(€)
3个回答

10
^[A-Za-z\d:;,\u20AC][A-Za-z\d :;,\u20AC]+$
  • \d代表任何数字
  • \u20AC是欧元符号()的Unicode值

4
除了已经提到的表达式,您可以使用\p{Sc}匹配任何货币符号,\p{P}匹配任何标点符号。
有关更多字符类,请查看此处

0
相当简单:
^[a-zA-Z0-9,;:€][ a-zA-Z0-9,;:€]+$

正如Tim所提到的,不依赖源文件的文本编码通常更安全。
^[a-zA-Z0-9,;:\u20AC][ a-zA-Z0-9,;:\u20AC]+$

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接