Java 正则表达式调谐

Java 正则表达式调谐,java,regex,Java,Regex,我使用以下正则表达式验证其中一个文本区域: ^[a-zA-Z0-9][a-zA-Z0-9 ]+$ 它允许字母数字 它避免了第一个空格为空 它允许在第一个字符后空白 我应该如何修改它以允许以下字符: 昏迷(,) 分号(;) 冒号(:) 欧元符号(欧元) \d是任意数字 \u20AC是欧元的unicode值(€) 非常简单: ^[a-zA-Z0-9,;:€][ a-zA-Z0-9,;:€]+$ 正如Tim提到的,不依赖源文件的文本编码通常也更安全: ^[a-zA-Z0-9,;:\u20

我使用以下正则表达式验证其中一个文本区域:

^[a-zA-Z0-9][a-zA-Z0-9 ]+$
  • 它允许字母数字
  • 它避免了第一个空格为空
  • 它允许在第一个字符后空白
我应该如何修改它以允许以下字符:

  • 昏迷(,)
  • 分号(;)
  • 冒号(:)
  • 欧元符号(欧元)
  • \d
    是任意数字
  • \u20AC
    是欧元的unicode值(
非常简单:

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

^[a-zA-Z0-9,;:\u20AC][ a-zA-Z0-9,;:\u20AC]+$

除了前面提到的表达式外,您还可以使用
\p{Sc}
匹配任何货币符号,并使用
\p{p}
匹配任何标点符号

有关更多角色类,请查看

^[a-zA-Z0-9,;:\u20AC][ a-zA-Z0-9,;:\u20AC]+$