正则表达式选择特定字符前的空白

时间:2018-07-10 22:21:00

标签: regex

我想创建一个正则表达式,使我可以在逗号前选择空白。 即。 “生日快乐,吉米”正则表达式应选择空白 “ Happy()birthday,Jimmy”,它出现在包含逗号的单词/字符串之前。 *由括号指出。

1 个答案:

答案 0 :(得分:2)

您可以使用Look Ahead完成此操作。

如果您可以匹配逗号前的每个空格,那么请检查以下内容:

\s(?=[^,]*,)

如果只想在逗号前匹配最接近的空格,请检查以下内容:

\s(?=[^,\s]*,)


  • \s表示空格字符
  • (?=...)是一个积极的展望,这意味着它可以确保其内容符合我们的比赛要求
    • []将一组可能的字符进行分组以匹配
      • [^...]表示它应该与内容以外的任何字符匹配
    • [^,\s]因此查找不是空格或逗号的任何字符
    • [^,\s]* *告诉它寻找零到尽可能多的零
    • ,,既然我们找到了所有非空格和非逗号,我们想找到一个逗号