Dav*_*vin 1 regex regex-lookarounds
我想将字符匹配到第一个逗号或Esq之后.
Mr. Bob Smith, Esq., Fish Bowl Lane
Mr. Bob Smith, Fish Bowl Lane
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何前瞻以产生所需的效果.
[^,]*
Run Code Online (Sandbox Code Playgroud)
我希望收到
Mr. Bob Smith, Esq.
Run Code Online (Sandbox Code Playgroud)
和
Mr. Bob Smith
Run Code Online (Sandbox Code Playgroud)
分别.
看来你想从字符串的开头到第一个逗号得到一个子字符串,然后是一个可选的Esq.子字符串:
^[^,]+(?:,\s*Esq\.)?
Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示
细节
^ - 开始一个字符串[^,]+ - 除了之外的一个或多个字符 ,(?:,\s*Esq\.)?- 一个可选的非捕获组(?:如果你的正则表达式引擎不支持非捕获组,只支持捕获组,则删除)匹配1或0次出现的
, - 逗号\s* - 0个或更多的空格字符Esq\.- 一个文字Esq.子串.