Regular expression: matching words between white space

一笑奈何 提交于 2019-12-01 05:10:01

You seem to work in Python as (?<=^|\s) is perfectly valid in PCRE, Java and Ruby (and .NET regex supports infinite width lookbehind patterns).

Use

(?<!\S)\w+(?!\S)

It will match 1 or more word chars that are enclosed with whitespace or start/end of string.

See the regex demo.

Pattern details:

  • (?<!\S) - a negative lookbehind that fails the match once the engine finds a non-whitespace char immediately to the left of the current location
  • \w+ - 1 or more word chars
  • (?!\S) - a negative lookahead that fails the match once the engine finds a non-whitespace char immediately to the right of the current location.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!