我想将字符串中的所有内容与最后一个空格匹配,但不包括它。为了举例,我想匹配我在粗体:
中添加的字符RENATA T. GROCHAL
到目前为止,我有^(.+\s)(.+)
但是,它与最后一个空格匹配,我不希望它。 RegEx应该也适用于除英语以外的其他语言。
编辑:我没有提到第二个捕获组不应该包含空格 - 它应该是GROCHAL
而不是GROCHAL
,前面有空格。
编辑2:我的新RegEx基于两个答案提供的内容:^((.+)(?=\s))\s(.+)
,用于替换匹配的RegEx为\3, \1
。它达到了预期的结果:
GROCHAL, RENATa T.
任何改进都是可取的。
答案 0 :(得分:5)
答案 1 :(得分:2)
使用积极的先行断言:
^(.+)(?=\s)
捕获第1组将包含匹配。
答案 2 :(得分:0)
我喜欢使用命名捕获组:
rawName = RENATA T. GROCHAL
RegexMatch(rawName, "O)^(?P<firstName>.+)\s(?P<lastName>.+)", match)
MsgBox, % match.lastName ", " match.firstName