具有任何单个字符的正则表达式模式,不带空格

时间:2018-02-16 13:22:14

标签: java regex

private Pattern pattern = Pattern.compile(".");

在这两种情况下,这种模式对我有用:

  1. 只有一个字符时
  2. 当只有一个字符+很多空格(新行,空格)时
  3. 如何更改此项以忽略空格?有效的是:

    "a"
    

    无效:

    " a", "    a    ", "\n     a"
    

3 个答案:

答案 0 :(得分:3)

\S是"不是空白",所以你的正则表达式可能是这样的:

^\S$

答案 1 :(得分:0)

基本的正则表达式功能:

  • 锚点^$以确保匹配的字符是输入中的第一个和最后一个
  • 字符集[ .. ]为不需要的字符指定所需字符或{​​{1}} .. [^

请注意,在字符串中,反斜杠具有特殊含义,必须加倍才能在正则表达式中使用文字],对新换行符也具有特殊含义\

\n

答案 2 :(得分:0)

或者:

if (str.matches("\\S"))  // don't need ^ and $ in the regex with matches() 

或只是

if (str.length() == 1 && !Character.isWhitespace(str.charAt(0)))