gpt4 book ai didi

java - 正则表达式将带有选项 stub 字符串的字符串拆分为三个

转载 作者:行者123 更新时间:2023-12-01 13:29:56 24 4
gpt4 key购买 nike

我在这里问了一些与正则表达式相关的问题,并且从答案中学到了很多东西,但是时不时地,我遇到了一些让我困惑的事情。这就是其中之一!

我有一堆字符串(所有字符串都是单行),我想将它们分成三部分。但是,有些部分是可选的。

为了简化此示例,我将使用人名。假设我有以下名字

Mr Homer Simpson
Mrs Marge Simpson Esq
Mr Homer Simpson Junior Esq
Bart Simpson
Lisa Simpson Esq
Maggie Simpson Junior Esq

使用替换函数,我想将它们分成前缀、名称和后缀。通过上面的列表,我希望看到

"Mr"    "Homer Simpson"    ""
"Mrs" "Marge Simpson" "Esq"
"Mr" "Homer Simpson" "Junior Esq"
"" "Bart Simpson" ""
"" "Lisa Simpson" "Esq"
"" "Maggie Simpson" "Junior Esq"

我能得到的最接近的是以下内容,这显然是很遥远的

((先生|女士)\s)?(.*?)((高级|初级)?(?:\sEsq)?)

有人可以帮忙吗?

谢谢

最佳答案

虽然看起来你可能已经回答了你自己的问题,但我之前就已经开始了:

^(Mrs?)?\s?(\w+\s\w+)\s((Junior|Senior)?\s?Esq)?

上面假设名称始终是两个单词。

执行示例:http://regexr.com?387u1

关于java - 正则表达式将带有选项 stub 字符串的字符串拆分为三个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21629910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com