gpt4 book ai didi

c# - 行首的正则表达式 - 或 - 句子中的最后一个数字

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:14 25 4
gpt4 key购买 nike

new Regex(@"^[a-zA-Z]+\b +\b[a-zA-Z]?\b +\b[a-zA-Z]+$")

这个匹配

John Smith John B Goode

我正在尝试针对以下情况修改此正则表达式:

12359 (John B? Goode) 10249? 之前的一些文字

有时名称出现在字符串末尾的数字之后,也可能出现在末尾的最终数字之前。

我试过了

new Regex(@"^|[0-9]+([a-zA-Z]+\b +\b[a-zA-Z]?\b +\b[a-zA-Z]+) *[0-9]*?$")

但这行不通,因为

  1. ^|[0-9]+只匹配数字而不是行首
  2. 该组始终是一个空字符串,匹配类似 sometext 12354 的内容(第一个数字不需要在行尾。

更新

这都是桥下的水,因为我在数据行的末尾发现了更多的名字,所以这行不通。

然而,我的问题的解决方案并不是将 OR 放在一个组中。

最佳答案

您需要用括号括起交替:

(^|[0-9]+)

你的表达等同于:

new Regex(@"^|()")

它总是匹配字符串的开头而不是其他任何内容。

关于c# - 行首的正则表达式 - 或 - 句子中的最后一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10955845/

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