220

I need to match a single character that is anything but a space but I don't know how to do that with regex.

Jonathan Leffler
  • 698,132
  • 130
  • 858
  • 1,229
Ryan
  • 11,033
  • 16
  • 34
  • 37

2 Answers2

313

The following should suffice:

[^ ]

If you want to expand that to anything but white-space (line breaks, tabs, spaces, hard spaces):

[^\s]

or

\S  # Note this is a CAPITAL 'S'!
Gabriel Staples
  • 22,024
  • 5
  • 133
  • 166
Andrew Moore
  • 90,677
  • 30
  • 161
  • 174
149
  • \s matches any white-space character
  • \S matches any non-white-space character
  • You can match a space character with just the space character;
  • [^ ] matches anything but a space character.

Pick whichever is most appropriate.

cletus
  • 599,013
  • 161
  • 897
  • 938