正则表达式在逗号之前匹配空格但不在之后

imb*_*aby 1 html regex text

我想有一个正则表达式,不允许逗号之后的空格,但应允许逗号之前的空格.逗号也应该是可选的.

我现在的正则表达式:

^[\w,]+$
Run Code Online (Sandbox Code Playgroud)

我试图添加\s它并尝试^[\w ,]+$但允许空格后的空格!

这应该是测试用例:

Hello World // true
Hello, World // false (space after comma)
Hello,World // true
Hello,World World // false
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

Avi*_*Raj 6

以下正则表达式在逗号后不允许空格,

^[\w ]+(?:,[^ ]+)?$
Run Code Online (Sandbox Code Playgroud)

DEMO

说明:

  • ^ 开始一行.
  • [\w ] 匹配单词charcter或空格一次或多次.
  • (?:)这称为非捕获组.这个组内的任何东西都不会被捕获.
  • (?:,[^ ]+)?逗号后跟任何不是空格的字符一次或多次.通过?在非捕获组之后添加,这告诉正则表达式引擎它将是可选的.
  • $ 一行结束