正则表达式匹配到逗号或字符串

问题描述 投票:1回答:1

我想匹配字符,直到第一个逗号或彼岸之后。

Mr. Bob Smith, Esq., Fish Bowl Lane
Mr. Bob Smith, Fish Bowl Lane

我无法弄清楚如何向前看符号,以产生预期的效果。

[^,]*

我希望收到

Mr. Bob Smith, Esq.

Mr. Bob Smith

分别。

regex regex-lookarounds
1个回答
5
投票

看来你想从字符串到第一个逗号,并在其后的可选Esq.串开始的子字符串:

^[^,]+(?:,\s*Esq\.)?

regex demo

细节

  • ^ - 一个字符串的开始
  • [^,]+ - 一个或比,其它更多字符
  • (?:,\s*Esq\.)? - 一个可选的非捕获组(删除?:如果您正则表达式引擎不支持非捕获组,仅支持拍摄的)匹配1次或0的出现 , - 逗号 \s* - 0或多个空白字符 Esq\. - 文字Esq.子。
© www.soinside.com 2019 - 2024. All rights reserved.